uso de computación cognitiva para evaluación de...
TRANSCRIPT
Uso de computación cognitiva para evaluación de preguntas
abiertas en las pruebas del ICFES
UNIVERSIDAD DE CÓRDOBA
GrupLac COLCIENCIAS: http://scienti.colciencias.gov.co:8080/gruplac/jsp/visualiza/visualizagr.jsp?nro=00000000004196 Website: https://sites.google.com/site/rgcicc/home Código Colciencias: COL0065564
Contenido GENERALIDADES DE LA INVESTIGACIÓN ........................................ 2
1 Contexto de investigación ............................................ 2
1.1 Palabras clave .................................................... 2
1.2 Entidad Beneficiaria .............................................. 2
1.3 Necesidad de la Entidad Beneficiaria .............................. 2
1.4 Reto .............................................................. 2
1.5 Resultados ........................................................ 2
2 Alcance de la Investigación .......................................... 3
2.1 El proyecto de investigación se enfoca en soluciones para: ......... 3
3 Información adicional ................................................ 3
3.1 Contacte al Grupo de Investigación: ............................... 3
RESUMEN DE INVESTIGACIÓN ................................................. 4
1 Descripción .......................................................... 4
2 Impacto .............................................................. 4
3 Objetivos de Investigación ........................................... 4
3.1 Objetivo General .................................................. 4
3.2 Objetivos Específicos ............................................. 4
4 Tipo de Investigación ................................................ 4
5 Resumen metodológico ................................................. 5
6 Elementos conceptuales de la investigación ............................ 5
7 Principales logros ................................................... 6
8 Principales aprendizajes ............................................. 6
9 Sostenibilidad ....................................................... 6
9.1 Lo que sigue en el futuro ......................................... 6
10 Conclusión ......................................................... 7
DESARROLLO DE LA INVESTIGACIÓN ........................................... 7
1. Metamodelo, Modelo Cognitivo y Prototipo .............................. 7
1. El modelo cognitivo ................................................. 7
2. Diseño del prototipo del agente cognitivo para la evaluación de
preguntas abiertas de las pruebas “SABER”. ............................. 9
3. Validación y pruebas ................................................ 9
2. Implementación ...................................................... 11
Tarea cognitiva ....................................................... 11
Metamodelo ............................................................ 26
Requerimientos ........................................................ 28
Prueba de ejecución ................................................... 33
GENERALIDADES DE LA
INVESTIGACIÓN
1 Contexto de investigación
1.1 Palabras clave
Inteligencia Artificial, Metamodelo Cognitivo, Informática Cognitiva,
Computación Cognitiva, Agentes Cognitivos, Procesamiento de Oraciones,
Lingüística Computacional.
1.2 Entidad Beneficiaria
Instituto Colombiano para la Evaluación de la Educación - ICFES
1.3 Necesidad de la Entidad Beneficiaria
Uso de inteligencia artificial para lograr enseñar aspectos clave de la
evaluación y que sean aplicables al contenido digitalizado de tal forma que
se automatice la calificación de preguntas abiertas, mejorando tiempos de
calificación y haciendo que los recursos sean más eficientes.
1.4 Reto
Agilizar los procesos de evaluación de las preguntas abiertas de las pruebas
“SABER”, de forma que se reduzca tiempo y costo de la calificación.
1.5 Resultados
1) Caracterización y análisis de la tarea cognitiva (la evaluación de
preguntas abiertas de las pruebas “SABER”). En esta tarea se coordinará con
el ICFES aspectos relacionados al proceso de elaboración de las preguntas
abiertas y al proceso de evaluación de las mismas. Es posible que se requiera
entrevistar a algunos evaluadores de las preguntas abiertas de las pruebas
"SABER".
2) Avance de Elaboración del modelo cognitivo de la tarea de evaluación de
preguntas abiertas de las pruebas “SABER”.
3) 1 Prueba de ejecución del modelo cognitivo
4) Primera validación de requerimientos en análisis, de modelo en diseño y
pruebas en evaluación
5) Configuración inicial de la arquitectura cognitiva
6) Avance del Diseño y codificación del prototipo
7) Avance de Configuración del modelo cognitivo
8) 1 Prueba de ejecución del agente cognitivo
9) 1 Modelo cognitivo de la tarea de evaluación de preguntas abiertas de las
pruebas “SABER”
10) 3 Pruebas de ejecución del modelo cognitivo
11) Segunda validación de requerimientos en análisis, de modelo en diseño y
pruebas en evaluación
12) Configuración de la arquitectura cognitiva
13) Diseño y codificación del prototipo
14) Configuración del modelo cognitivo
15) 3 Pruebas de ejecución del agente cognitivo
16) Concepto sobre el avance en el modelo cognitivo, el prototipo y las
pruebas.
17) Digitalización y extracción del texto del corpus del contenido de la
respuesta de la pregunta abierta
18) Análisis del contenido del texto extraído de la respuesta de la pregunta
abierta
19) Toma de decisiones con respecto a la validez de la respuesta
20) Concepto sobre el avance en el modelo cognitivo, el prototipo y las
pruebas.
2 Alcance de la Investigación
2.1 El proyecto de investigación se enfoca en soluciones para:
☒ a) Incrementar la eficiencia en los procesos internos
☐ b) Incrementar la calidad en los servicios prestados
☐ c) Mejorar la difusión y escalamiento (masificación) de servicios
☐ d) Elevar la satisfacción de usuarios
☒ e) Alcanzar objetivos de política
☐ f) Incrementar la capacidad de respuesta
☐ g) Elevar la transparencia y rendición de cuentas
☐ h) Hacer frente a desafíos sociales
☒ i) Reducir costos de operación
☐ j) Aumentar la cultura y las competencias en innovación digital de usuarios internos
☐ k) Aumentar la cultura y las competencias en innovación digital de usuarios externos
☐ l) Otro: ________________________________
3 Información adicional
3.1 Contacte al Grupo de Investigación:
Grupo de Investigación en Informática y Computación Cognitiva
Universidad de Córdoba.
Manuel Fernando Caro Piñerez –
Director
Juan Carlos Giraldo Cardozo [email protected]
Adán Alberto Gómez Salgado [email protected]
Alexander Enrique Toscano
Ricardo
Raúl Emiro Toscano Miranda [email protected]
Ernesto Llerena García [email protected]
Dalia Patricia Madera Doval
Jorge Luis Narváez Romero
RESUMEN DE INVESTIGACIÓN
1 Descripción
El proyecto se propone el uso de la Computación Cognitiva para abordar el
procedimiento de agilizar los procesos de evaluación de las preguntas abiertas
de las pruebas “SABER”, de forma que se reduzca tiempo y costo de la
calificación en el Instituto Colombiano para la Evaluación de la Educación –
ICFES.
2 Impacto Identificar posibles rutas de desarrollo de tecnologías basadas en la
informática cognitiva, que permitan disminuir el tiempo y los costos que
implica la evaluación de preguntas abiertas por parte del ICFES.
Avance en las líneas de investigación relacionadas con el desarrollo de
agentes cognitivos en el campo de la lingüística computacional.
Definición de rutas metodológicas para el avance en investigaciones
conjuntas entre instituciones de gobierno y la Universidad pública, en
especial de ciudades intermedias.
3 Objetivos de Investigación
3.1 Objetivo General
Conocer las potencialidades de la inteligencia artificial que permita
comprobar los beneficios de la tecnología para optimizar recursos y tiempo
en la calificación de preguntas abiertas en el ICFES.
3.2 Objetivos Específicos
1. Diseño de un meta modelo cognitivo del proceso de evaluación de preguntas
abiertas en las pruebas del ICFES.
2. Diseño de un modelo cognitivo del proceso de evaluación de preguntas
abiertas en las pruebas del ICFES.
3. Creación de un prototipo de un Agente Cognitivo para la evaluación de
preguntas abiertas en las pruebas “SABER” del ICFES.
4 Tipo de Investigación Investigación aplicada que genera prototipos.
5 Resumen metodológico
La investigación se desarrolla por fases, cada una de ellas con tareas
específicas:
Fase 1. Metamodelado del proceso cognitivo de evaluación de preguntas abiertas
de las pruebas “SABER
Tarea 1: Caracterización y análisis de la tarea cognitiva (la evaluación de
preguntas abiertas de las pruebas “SABER”.
Tarea 2: Elaboración del meta modelo cognitivo de la tarea de evaluación de
preguntas abiertas de las pruebas “SABER”.
Fase 2: Diseño del Modelo Cognitivo para la evaluación de preguntas abiertas
de las pruebas “SABER”
Tarea 1: Instanciación del modelo cognitivo a partir del Metamodelo cognitivo
de la tarea de evaluación de preguntas abiertas de las pruebas “SABER”.
Tarea 2: Pruebas de ejecución del modelo cognitivo.
Fase 3: Desarrollo del Agente Cognitivo para la evaluación de preguntas
abiertas de las pruebas “SABER”
Tarea 1: Configuración de la arquitectura cognitiva.
Tarea 2: Diseño y codificación del prototipo.
Tarea 3: Configuración del modelo cognitivo.
Fase 4: Extracción Digital de Texto (paralela a la Fase 3)
Tarea 1: Digitalización y extracción del texto del corpus del contenido de
la respuesta de la pregunta abierta, utilizando la tecnología disponible por
parte de la Universidad de Córdoba y el ICFES
Tarea 2: Análisis del contenido del texto extraído de la respuesta de la
pregunta abierta
Tarea 3: Unión de los módulos de Extracción Digital del Texto con el Agente
Cognitivo para generar decisiones y validar las respuestas
6 Elementos conceptuales de la
investigación La computación cognitiva es un paradigma de computación basado en la
informática cognitiva que busca diseñar sistemas computacionales que simulan
o aumentan los métodos internos de procesamiento de información del cerebro
y de la inteligencia natural.
El modelado cognitivo es un área de la informática que se enfoca en simular
tareas mentales y el proceso de resolución de problemas en seres humanos en
un modelo computarizado y ejecutable. Como resultado del proceso de modelado
se genera un modelo cognitivo de la tarea o proceso analizado.
Un modelo cognitivo es una aproximación a los procesos cognitivos animales
(predominantemente humanos) con fines de comprensión y predicción. Los
modelos cognitivos pueden desarrollarse dentro de una arquitectura cognitiva.
En contraste con las arquitecturas cognitivas, los modelos cognitivos tienden
a centrarse en un único fenómeno o proceso cognitivo, por ejemplo, en este
caso el proceso cognitivo sería la evaluación de preguntas abiertas de las
pruebas “SABER”.
7 Principales logros
Consolidar la primera versión funcional de una arquitectura propia
desarrollada en Colombia que permite ejecutar agentes cognitivos.
Desarrollo de un prototipo de agente cognitivo que permita evaluar ciertos
aspectos y emita juicios de validez, acerca de las respuestas a las
preguntas abiertas en las pruebas del ICFES, con el propósito de determinar
las posibilidades de agilizar los procesos de evaluación.
8 Principales aprendizajes
Este tipo de tecnologías de Arquitecturas Cognitivas permiten desarrollar
soluciones a problemas del sector público, mediante el modelado de mecanismos
internos de procesamiento de información del cerebro o la inteligencia
natural.
Los agentes cognitivos pueden ser una alternativa viable a la solución de
problemas realacionados con el análisis e interpretación de respuestas a
preguntas abiertas que realiza el ICFES.
Es posible realizar trabajos de invetigación que repondan a necesidades del
sector público a nivel nacional, por parte de grupos de investigación de
Universidades Públicas de ciudades intermedias, como es el caso de la
Universidad de Córdoba.
9 Sostenibilidad
El proyecto se ha diseñado de tal manera que se hace por separado el desarrollo
de la arquitectura cognitiva (Carina) que es genérica y permite la ejecución
de agentes cognitivos y el prototipo de agente especializado en preguntas
abiertas (CAfE-OQ) para solucionar el problema específico plantado por el
ICFES. Ambos se han desarrollado con tecnologías modernas basadas en Node.js
y siguiendo patrones de desarrollo de software que permiten la modularidad y
escalabilidad; es así como el grupo continuará realizando proyectos de
investigación para ampliar las funcionalidades de Carina y en conjunto con
el ICFES se esperan desarrollar nuevos proyectos para ampliar las capacidades
del prototipo CAfE-OQ.
9.1 Lo que sigue en el futuro
Avanzar en la línea de investigación de lingüística computacional desde el
enfoque cognitivo, con el propósito de desarrollar agentes que permitan por
ejemplo, entrenar a personal de ICFES en la manera adecuada de elaborar las
preguntas abiertas y sus formas de calificación; otros especializados en la
formación a estudiantes con respecto a la elaboración de respuestas adecuadas
a las preguntas abiertas del ICFES y otros para el público en general que
permitan responder de manera interactiva a preguntas frecuentes sobre el
proceso de preguntas abiertas del ICFES.
10 Conclusión La Computación Cognitiva puede ser utilizada para desarrollar aplicaciones
que aporten soluciones efectivas a problemáticas de entidades públicas.
Los grupos de investigación de Universidades Públicas de ciudades intermedias
pueden hacer aportes importantes a la solución de problemas de manera
innovadora a partir de procesos de investigación.
Los Agentes Cognitivos basados en Lingüística Computacional, abren una gran
posibilidad para desarrollar soluciones no probabilísticas a problemas de
análisis de textos.
El uso de la metodología GOMS permite el diseño de modelos cognitivos
computacionales, que facilitan la transición a la implementación de agentes
cognitivos.
Carina pone a Colombia en la Vanguardia mundial de desarrollo de Arquitecturas
Cognitivas diseñadas para facilitar el desarrollo de agentes cognitivos que
solucionen problemas.
DESARROLLO DE LA INVESTIGACIÓN
En este proyecto se propone el uso de la Computación Cognitiva para abordar
el procedimiento de agilizar los procesos de evaluación de las preguntas
abiertas de las pruebas “SABER”, de forma que se reduzca tiempo y costo de
la calificación en el Instituto Colombiano para la Evaluación de la Educación
– ICFES.
1. Metamodelo, Modelo Cognitivo y
Prototipo Un Metamodelo es un modelo para definir modelos, contiene una arquitectura
en la cual pueden incluirse y removerse diferentes modelos cognitivos. Esta
investigación consiste en hacer un metamodelo que se adapte a las necesidades
del ICFES para hacer más eficiente el proceso de evaluación de las pruebas
saber.
1. El modelo cognitivo
El modelado cognitivo es un área de la informática que se enfoca en simular
tareas mentales y el proceso de resolución de problemas en seres humanos en
un modelo computarizado y ejecutable. Como resultado del proceso de
modelado se genera un modelo cognitivo de la tarea o proceso analizado.
Un modelo cognitivo es una aproximación a los procesos cognitivos animales
(predominantemente humanos) con fines de comprensión y predicción. Los
modelos cognitivos pueden desarrollarse dentro de una arquitectura
cognitiva. En contraste con las arquitecturas cognitivas, los modelos
cognitivos tienden a centrarse en un único fenómeno o proceso cognitivo,
por ejemplo, en este caso el proceso cognitivo sería la evaluación de
preguntas abiertas de las pruebas “SABER”.
Las tareas por realizar en esta fase están dentro del ámbito de la
Informática Cognitiva debido a que el objetivo es diseñar el modelo formal
computarizado del proceso de evaluación de preguntas abiertas de las
pruebas “SABER”.
Tarea 1: Caracterización y análisis de la tarea cognitiva (la evaluación de
preguntas abiertas de las pruebas “SABER”)
En esta tarea se utilizará una técnica mixta basada en el análisis de los
procesos cognitivos realizados por los sujetos que evalúan las pruebas
(decisiones que toman, claves que tienen en cuenta, dificultades que
encuentran y objetivos que siguen), esto se complementa con el análisis de
la literatura especializada en comprensión de textos y en evaluación de
preguntas abiertas.
Luego se hace una descripción detallada del proceso de evaluación de preguntas
abiertas de las pruebas “SABER” desde una perspectiva de procesos cognitivos
y metacognitivos empleados por los evaluadores.
Tarea 2: Elaboración del modelo cognitivo de la tarea de evaluación de
preguntas abiertas de las pruebas “SABER”.
El modelo cognitivo del proceso de la tarea cognitiva de evaluación de
preguntas abiertas de las pruebas “SABER” se inicia aplicando el modelo GOMS,
el cual es un modelo especializado de procesador de información humano que
describe la estructura cognitiva de quien realiza una tarea especializada.
La estructura resultante de la aplicación GOMS es modelada acorde con las
especificaciones de una arquitectura cognitiva. En este sentido nuestro grupo
de investigación ha diseñado una arquitectura, que viene trabajando desde el
año 2013. La arquitectura cognitiva se llama CARINA y está basada en el
metamodelo MISM. La arquitectura y el metamodelo han sido presentados en
diversas conferencias internacionales en prestigiosas universidades como MIT,
Stanford University y Oxford. De igual modo han sido publicadas en Journals
especializados en Informática Cognitiva y Arquitecturas Cognitivas.
Tarea 3: Pruebas de ejecución del modelo cognitivo.
El modelo cognitivo se carga en la arquitectura cognitiva y después se corre
para analizar posibles ajustes de acceso a diferentes tipos de memoria,
rendimiento esperado y comportamiento de las funciones cognitivas modeladas.
2. Diseño del prototipo del agente cognitivo para la evaluación de
preguntas abiertas de las pruebas “SABER”.
Las tareas de esta fase se enmarcan en el paradigma de la Computación
Cognitiva debido a que se toma el modelo cognitivo generado en la Fase 1 y
se ejecuta (corre) dentro de un agente cognitivo. Un agente cognitivo es un
sistema inteligente que emula la capacidad de los organismos vivos de actuar
e interactuar con el medio ambiente para el desarrollo cognitivo y el
aprendizaje.
Los agentes cognitivos están basados en arquitecturas cognitivas y son capaces
de ejecutar (correr) instrucciones contenidas en modelos cognitivos.
Tarea 1: Configuración de la arquitectura cognitiva.
La configuración se realiza dependiendo de los aspectos particulares de la
tarea, técnicamente en un archivo JSON se incluyen los objetivos, tipos de
memoria a activar, llamados a funciones cognitivas y activaciones de estados
mentales. Esto se hace debido a que la arquitectura cognitiva ya tiene
incluidas las funciones cognitivas de Comprensión y las estructuras de memoria
que se utilizan en la comprensión de textos.
Tarea 2: Diseño y codificación del prototipo
El diseño del prototipo del agente cognitivo se realizará con base en la
metodología MODESEC y la metodología SECMALI. La metodología describe un
modelo de diseño de software educativo basado en competencias, el cual
presenta una visión integral del desarrollo de aplicaciones mediante la
combinación de componentes cognitivos, didácticos, multimediales y de
ingeniería de software.
Tarea 3: Configuración del modelo cognitivo
La configuración se realiza en archivos JSON con aspectos particulares de la
tarea cognitiva, como por ejemplo, objetivos, sub-tareas, creencias y hechos
necesarios como conocimiento previo para la resolución del problema de
evaluación de preguntas abierta.
Tarea 4: Pruebas de ejecución del agente cognitivo
Las pruebas se realizan para ajustar parámetros en la arquitectura y en el
modelo cognitivo subyacentes al agente.
3. Validación y pruebas
Tarea 1: Digitalización y extracción del texto del corpus del contenido de
la respuesta de la pregunta abierta.
El ciclo cognitivo incluye la función cognitiva de Percepción, la cual se
encarga de procesar los estímulos de entrada en un formato comprensible para
el proceso de razonamiento. En este sentido y debido al tiempo corto que
plantea la convocatoria proponemos utilizar instancias de librerías de Orange
escritas en Python y las librerías de Tensor Flow de Google, las cuales
tienen un aceptable desempeño en el reconocimiento de caracteres de escritura
a mano. La salida de estas librerías es capturada por el agente cognitivo
que inicia el proceso de análisis de la respuesta de la pregunta abierta para
determinar su validez. En este sentido se requeriría una fase de entrenamiento
de las librerías y su integración con la arquitectura cognitiva.
Tarea 3: Toma de decisiones con respecto a la validez de la respuesta.
La arquitectura cognitiva está formada por dos niveles de razonamiento. El
Object-level razona y toma las decisiones con respecto al texto de la pregunta
abierta, mientras que el Meta-level analiza el proceso de razonamiento del
Object-level en busca de fallas para corregirlo. El Meta-level garantiza que
el agente sea robusto en cuanto es capaz de analizar su propio razonamiento
y detectar fallas que él mismo es capaz de solucionar. En este sentido cada
pregunta abierta es evaluada por el Agente Cognitivo y si el agente tiene
dudas sobre el juicio emitido entonces hace un nuevo proceso de razonamiento
para mejorar la decisión tomada.
La incorporación de agentes cognitivos basados en arquitecturas cognitivas
en la evaluación de preguntas abiertas de las pruebas “SABER” del ICFES, no
sólo es posible, sino que le permitirá a la entidad la posibilidad de agilizar
este proceso dispendioso y costoso. Los agentes cognitivos garantizan al
ICFES que el proceso de evaluación de las preguntas abiertas estará basado
en modelos que simulan las competencias cognitivas de los expertos adquiridas
tras años de práctica, dichas competencias cognitivas son aumentadas en tiempo
y rendimiento por parte del agente cognitivo.
2. Implementación
Tarea cognitiva
A continuación, se presenta el análisis de la tarea cognitiva para analizar
sintácticamente una oración que ingresa a un agente cognitivo que evalúa
preguntas abiertas como un codificador experto:
NGOMSL-Based Computational Cognitive
Model of the Task The objective of this section is to use computational cognitive modeling to
understand the skill of human decision making in the process of coding the
critical reading test/exam SABER PRO TYT - ICFES
NGOMSL is a structured natural language notation for representing GOMS models
and a procedure for constructing them.
#NGOMSL-Based Computational Cognitive Model of Sentence Processing
Task
(r102)Method for goal 𝛾𝟏𝟎𝟎: Sentence Processing
Step 1. (𝛼101𝑐 ) Accomplish goal: 𝛾𝟏𝟎𝟏
Step 2. (𝛼102𝑐) Return with goal accomplished.
(r103)Method for goal 𝛾𝟏𝟎𝟏: Check the grammatical category of the input word
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟐 # cf Perception
Step 2. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟑 # cf Perception
Step 3. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟐𝟒 # cf Recognition
Step 4. (𝛼101𝑐) Accomplish goal:𝛾𝟏𝟎𝟒 # cf Categorization
Step 5. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟔
Step 6. (𝛼101𝑐) Accomplish goal:𝛾𝟏𝟎𝟕 # if rule#101 <𝜋:inicio =null> is fired
Step 7. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟖 # if rule#101 <𝜋:inicio ≠null> is fired
Step 8. (𝛼101𝑐) Accomplish goal:𝛾𝟏𝟎𝟗 # if rule#102 <MoW:word_node ≠null> is fired
Step n. (𝛼102𝑐 ) Return with goal accomplished.
(r104)Method for goal 𝛾𝟏𝟎𝟐: Read word from perceptor <text_perceptor_1>
Step 1. (𝛼103𝑐) Encode word as input fact 𝜑
Step 2. (𝛼104𝑐 ) Save encoded fact 𝜑 into SSM
Step 3. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟎𝟑: Load SSM buffer
Step 1. (𝛼105𝑐 ) Copy input fact 𝜑 into SSM buffer at BCPU.Input
Step 2. (𝛼104𝑐) Return with goal accomplished.
Method for goal 𝛾𝟏𝟐𝟑: Encode recognition judgments
Step 4. (𝛼103𝑐)Encode a new belief with judgment 𝜗
Step 5. (𝛼125𝑐 )Copy belief 𝜗 into BCPU.Pattern
Step n. (𝛼102𝑐) Return with goal accomplished.
Method for goal 𝛾𝟏𝟐𝟒: Recognize input fact
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟐𝟐
Step 2. (𝛼101𝑐) Accomplish goal:𝛾𝟏𝟐𝟓
Step 3. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟐𝟑
Step n. (𝛼102𝑐) Return with goal accomplished.
Method for goal 𝛾𝟏𝟐𝟓: Trigger recognition judgment
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟒
Step 3. (𝛼126𝑐) Trigger a judgment 𝜗 # if rule#103 <SMM buffer is empty> is fired
Step n. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟐𝟐: Load recognition inputs
Step 1. (𝛼122𝑐) Load input fact 𝜑 from BCPU.Input (SSM buffer)
Step 2. (𝛼123𝑐 ) Load Pattern 𝜏 from Pattern (Short Term Memory)
Step 3. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟎𝟒: Load SMM buffer
Step 1. (𝛼106𝑐 ) Retrieve belief 𝛽 from SMM using BCPU.Input 𝜑 : 𝒘𝒐𝒓𝒅 as
cue
Step 2. (𝛼107𝑐 ) Copy belief 𝛽into SMM buffer
Step 3. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟎𝟓: Load Lexical buffer
Step 1. (𝛼122𝑐 ) Load input fact 𝜑 from BCPU.Input (SSM)
Step 2. (𝛼130𝑐 ) Copy input fact 𝜑 into <Word Node> Buffer/Field at
MoW
Step 3. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟎𝟔: Encode Lexical buffer as Belief
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟓
Step 2. (𝛼131𝑐 ) Load belief 𝛽 from SMM Buffer
Step 3. (𝛼110𝑐 ) ALTER 𝜑 : Update the ID of input fact 𝜑 from
WordNode buffer with concat(𝛽:tipo, uniqueID) # encode (WordNode) #los siguientes pasos 4 y 5 deben ser uno solo
Step 4. (𝛼112𝑐 ) ALTER 𝜑 : Add field <next> to 𝜑
Step 5. (𝛼112𝑐 )ALTER 𝜑 : Update 𝜑 :next with <null>
Step 6. (𝛼129𝑐 ) ALTER 𝜑 : Update 𝜑 typeSMU with 𝛽:tipo
Step n. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟎𝟕: Encode Problem Domain buffer <updating 𝜋: 𝒊𝒏𝒊𝒄𝒊𝒐
Step 1. (𝛼117𝑐) Retrieve belief 𝜑 from <Word Node> Buffer/Field at
MoW
Step 2. (𝛼112𝑐 ) ALTER 𝜋: Update 𝜋:inicio with 𝜑
Step 3. (𝛼115𝑐 ) Copy belief 𝜋 into Lexical STM at MoW
Step n. (𝛼102𝑐) Return with goal accomplished.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Method for goal 𝛾𝟏𝟎𝟖: Update <Word Node> at Model of the World (MoW)
Step 1. Retrieve belief 𝜑 from <Word Node> Buffer/Field at MoW
Step n. Return with goal accomplished.
Method for goal 𝛾𝟏𝟎𝟗: Encode <Word Node> at MoW
Step 1. (𝛼113𝑐 ) Retrieve belief 𝜑 from Lexical Buffer 𝜑 :𝒏𝒆𝒙𝒕 is null
as cue
Step 2. (𝛼128𝑐 ) Load belief 𝜛 from <Word Node> Buffer/Field at MoW
Step 3. (𝛼112𝑐 ) ALTER 𝜑 : Update 𝜑 ∶next with 𝜛
Step 4. (𝛼115𝑐)Copy belief 𝜛 into Lexical STM at MoW
Step 5. (𝛼116𝑐 )Copy belief 𝜑 into <Word Node> Buffer/Field at MoW
Step n. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟐𝟎: Identify the grammatical pattern of the input sentence
????
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟐𝟏
Step n. (𝛼102𝑐 ) Return with goal accomplished.
Method for goal 𝛾𝟏𝟐𝟏: Encode the grammatical pattern of the input sentence
????
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟐𝟏 ¿???
Step 2. Encode grammatical pattern as fact 𝜇 Step n. (𝛼102
𝑐 ) Return with goal accomplished.
#NGOMSL-Based Computational Cognitive Model for training Sentence
Processing Task
(r2**)Method for goal 𝛾𝟐𝟎𝟎: Training Sentence Processing
Step 1. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟐 # cf Perception
Step 2. (𝛼101𝑐 ) Accomplish goal:𝛾𝟏𝟎𝟑 # cf Perception
# hay que implementar > recognition
Step n. (𝛼102𝑐) Return with goal accomplished.
(r2**)Method for goal 𝛾𝟐𝟎𝟏: Training Sentence Processing
Step 1. (𝛼101𝑐 ) Accomplish goal: 𝛾𝟏𝟎𝟏
Step 2. (𝛼102𝑐) Return with goal accomplished.
#NGOMSL-Based Computational Cognitive Model for Factoid Question-
Answering Process
(r3**)Method for goal 𝛾𝟑𝟎𝟎: Question Processing
Step 1. (𝛼301𝑐 ) Accomplish goal:𝛾𝟑𝟎𝟏 # Sentence Splitter and Tokenizer
Step 2. (𝛼311𝑐 ) Accomplish goal:𝛾𝟑𝟎𝟒 # Question Focus
Step 3. (𝛼312𝑐 ) Accomplish goal:𝛾𝟑𝟎𝟗 # Answer Type
Step 4. (𝛼313𝑐 ) Accomplish goal:𝛾𝟑𝟏𝟎 # Keyword Extraction
Step n. (𝛼314𝑐 ) Return with goal accomplished.
(r3**)Method for goal 𝛾𝟑𝟎𝟏: Sentence Splitter and Tokenizer
Step 1. (𝛼302𝑐 ) Accomplish goal:𝛾𝟑𝟎𝟐 # Sentence Splitter
Step 2. (𝛼303𝑐 ) Accomplish goal:𝛾𝟑𝟎𝟑 # Tokenizer
Step n. (𝛼312𝑐 ) Return with goal accomplished.
(r3**)Method for goal 𝛾𝟑𝟎𝟐: Sentence Splitter
Step 1. (𝛼304𝑐 ) Detecting ending of sentences # rule 3** detecting a question
mark, an exclamation mark, full stop or the end of text.
Step 2. (𝛼305𝑐 ) Mark up individual sentences
Step n. (𝛼309𝑐 ) Return with goal accomplished
(r3**)Method for goal 𝛾𝟑𝟎𝟑: Tokenizer
Step 1. (𝛼306𝑐 ) Separation of words from other textual elements #
parenthesis, brackets, question marks, exclametion marks, currency marks, numbers, digits included in
words, etc
Step 2. (𝛼307𝑐 ) Becomes all this elements in tokens
Step n. (𝛼310𝑐 ) Return with goal accomplished
(r3**)Method for goal 𝛾𝟑𝟎𝟒: Question Focus
Step 1. (𝛼306𝑐 ) Separation of words from other textual elements #
parenthesis, brackets, question marks, exclametion marks, currency marks, numbers, digits included in
words, etc
Step 2. (𝛼307𝑐 ) Becomes all this elements in tokens
Step n. (𝛼310𝑐 ) Return with goal accomplished
#Setting of Computational Cognitive Model of Sentence Processing
Task using CARINA Specification
Goals from NGOMSL A goal is a state that an agent intends to reach (Coutaz, Nigay, Salber,
Blandford, May & Young, 1995). According to Castelfranchi (1998) a goal is a
mental representation of a world state or process that is candidate for: i)
controlling and guiding action by means of repeated tests of the action’s
expected or actual results against the representation itself; ii) determining
the action search and selection;iii) qualifying its success or failure.
Rosenblueth and Wiener (1968) placed the bases of this notion of goal-directed
behaviour through of his "very operational notion of goal" and "purposive
behaviour", which used as inspiration source the studies in psychology of
Miller, Galanter and Pribram (1960).
Goals are symbolic structures that define a state of affairs to be achieved
and determine a set of possible methods by which it may be accomplished.
Usage of the term goals adds the further restriction that the set of active
desires must be consistent.
Below are the goals that the cognitive agent proposes to perform a syntactic
analysis of answers to open questions in a SABER test
𝛾𝟏𝟎𝟎: Sentence Processing
𝛾𝟏𝟎𝟏: Check the grammatical category of the input word
𝛾𝟏𝟎𝟐: Read word from perceptor <text_perceptor_1>
𝛾𝟏𝟎𝟑: Load SSM buffer
𝛾𝟏𝟎𝟒: Load SMM buffer
𝛾𝟏𝟎𝟓: Load Lexical buffer
𝛾𝟏𝟎𝟔: Encode Lexical buffer as Belief
𝛾𝟏𝟎𝟕: Encode Problem Domain buffer <updating 𝜋: 𝑖𝑛𝑖𝑐𝑖𝑜> 𝛾𝟏𝟎𝟖: Update <Word Node> at Model of the World (MoW)
𝛾𝟏𝟎𝟗: Encode <Word Node> at MoW
𝛾𝟏𝟐𝟎: Identify the grammatical pattern of the input sentence
𝛾𝟏𝟐𝟏: Encode the grammatical pattern of the input sentence
𝛾𝟏𝟐𝟐: Load recognition inputs
𝛾𝟏𝟐𝟑: Encode recognition judgments
𝛾𝟏𝟐𝟒: Recognize input fact
𝛾𝟏𝟐𝟓: Trigger recognition judgment
Mental States from NGOMSL A mental state is a state of mind that an agent is in. In cognitive psychology
and the philosophy of mind, a mental state is a kind of hypothetical state
that corresponds to thinking and feeling, and consists of a conglomeration
of mental representations and propositional attitudes.
Most simplistically, a mental state is a mental condition. It is a relation
that connects the agent with a proposition. The proposition can be true or
false, and acquaintance requires no specific attitude towards that truth or
falsity.
Below is the notation used to represent the mental states:
𝜎𝒊𝒅: mental state, where <id> is the identification of the mental state
Inventory of Mental States
𝜎𝟏𝟎𝟏: sentence_is_processed <F>
𝜎𝟏𝟎𝟐: gc_iword_is_checked <F> # grammatical category of input word is checked
𝜎𝟏𝟎𝟑: word_from_perceptor_is_read <F>
𝜎𝟏𝟎𝟒: ssm_buffer_is_read <F> # Sensory memory buffer is read
𝜎𝟏𝟎𝟓: smm_buffer_is_read <F> # Semantic memory buffer is read
𝜎𝟏𝟎𝟔: lexical_buffer_is_read <F>
𝜎𝟏𝟎𝟕: lexical_buffer_is_encoded <F> # Lexical buffer is encoded as belief
𝜎𝟏𝟎𝟖: problem_domain_buffer_is_encoded <F>
𝜎𝟏𝟎𝟗: problem_domain_buffer_is_updated <F> # < 𝜋: 𝑖𝑛𝑖𝑐𝑖𝑜> is updated
𝜎𝟏𝟏𝟎: word_node_at_mow_is_updated <F>
𝜎𝟏𝟏𝟏: word_node_at_mow_is_encoded <F>
𝜎𝟏𝟏𝟐: gpattern_isentence_is_identified <F> # < the grammatical pattern of the input sentence is identified
𝜎𝟏𝟏𝟑: gpattern_isentence_is_encoded <F> # < the grammatical pattern of the input sentence is encoded
𝜎𝟏𝟏𝟒: Recognition_inputs_are_load
𝜎𝟏𝟏𝟓: Recognition_judgments_is_encoded
𝜎𝟏𝟏𝟔: Input fact is recognize
𝜎𝟏𝟏𝟕: Recognition judgment is trigger
Operators from NGOMSL Operators are elementary perceptual, motor or cognitive acts, whose
execution is necessary to change any aspect of the user's mental state or
to affect the task environment.
Below is the notation used to represent the types of operators:
𝛼𝑖𝑑𝑝: perceptual act
𝛼𝑖𝑑𝑚: motor act
𝛼𝑖𝑑𝑐 : cognitive act
11 Inventory of operators 𝛼101
𝑐 : Accomplish Goal <accomplishGoal(aGoal)> #inicia el ciclo cognitivo, el
gol que se recibe por parámetro se envía como gol activo al sistema de
atención; también inicia la activación de reglas en la memoria
procedimental. Esto es activa la función matching, en la memoria
procedimental.
𝛼102𝑐 : Return Goal Accomplished <returnGoalAccomplished(aGoal)> #modifica el
campo targetState del gol que se recibe por parámetro, poniéndolo en true.
𝛼103𝑝
: Encode Fact <encodeSMU(inputData)> #el dato de entrada es formateado
por la función y genera como salida un SMU ya sea belief o fact.
𝛼104𝑐 : Save Fact Into SSM <saveSMUtoSSM(aSMU)> #el SMU de entrada es
almacenado en el buffer de la memoria sensorial -SSM Buffer-. SSM Buffer
mantiene un único objeto.
𝛼105𝑐 : Copy Fact Into BCPU.input <copySMUtoBCPUinput(aSMU)> #copia el SMU que
está en la SSM a el campo input de la BCPU, manteniendo las dos copias.
𝛼106𝑐 : Retrieve Belief From SMM <retrieveBeliefFromSMM (cue)> #Esta función
recupera belief únicamente de la memoria semántica.
𝛼107𝑐 : Copy Belief Into SMM Buffer <copyBeliefIntoSMMBuffer (belief)> # copia
el belief recuperado de la memoria semántica (por la función 𝛼106𝑐 ) en el SMM
buffer
𝛼108𝑐 : Retrieve Fact From SSM <retrieveFactFromSSM (inputFact)> #lee el fact
que está almacenado en la SSM;
𝛼109𝑐 : Copy Fact Into Lexical Buffer <copyFactIntoLexicalBuffer(inputFact)>
#copia un fact/belief dentro del buffer léxico
𝛼110𝑐 : ALTER Refactory Fact ID <refactorySMU (inputFact, id)> #modifica
(altera) el campo ID de un Fact/Belief
𝛼112𝑐
: ALTER Update Fact Add Field <updateSMU (inputFact, newField, value)>
#si el nuevo campo existe modifica su valor, sino lo crea.
𝛼113𝑐 : Retrieve Belief From Lexical Buffer <retrieveBeliefFromLexicalBuffer
(belief)> # recupera un belief del buffer léxico
𝛼114𝑐
: ALTER Update Problem < updateProblem (problem)> #modifica el id del
problema
𝛼115𝑐 : Copy Belief Into Lexical STM at MoW <copyBeliefIntoLexicalSTMatMoW
(belief)> # copia un belief dentro del buffer léxico
𝛼116𝑐 : Copy Belief Into Word Node at MoW <copyBeliefIntoWordNodeatMoW
(belief)> # copia un belief dentro del word node del buffer léxico
𝛼117𝑐 : Retrieve Belief From Word Node at MoW <retrieveBeliefFromWordNodeatMoW
(belief)> #
𝛼122𝑐 : Load fact from BCPU.Input <loadFactFromBCPUInput (inputFact)> # copia
la información que está en la memoria SSM a el buffer STM-SSM que es el
usado en el ciclo cognitivo
𝛼123𝑐
: Load Pattern 𝜏 from Pattern Buffer <loadPatternFromPatternBuffer ()> #leer el patrón de caracteres con el que se va a juzgar la palabra de
entrada
𝛼124𝑐 : Encode a new belief with judgment 𝜗 <encodeaNewBeliefWithJudgment
(judgment)> # hace lo mismo que encodeSMU, pero tiene como entrada un
juicio y como salida un fact/belief
𝛼125𝑐 : Copy belief 𝜗 into Pattern Buffer at BCPU.Pattern
<copyBeliefIntoPatternBufferAtBCPUPattern(belief)> #copia el belief creado
con la funcion 𝛼124𝑐 en el BCPU.pattern
𝛼126𝑐 : Trigger a judgment 𝜗 judgment # <triggeraJudgment (judment)> #
𝛼128𝑐 : Load belief 𝜛 from <Word Node> Buffer/Field at MoW #
<loadBeliefFromWordNodeatMoW (belief)> #
𝛼129𝑐 : ALTER 𝜑 Update 𝜑 :next with 𝜛# <updateFact (aNext, aValue)> #
𝛼130𝑐 : Copy Input Fact 𝜑 into <Word Node> at MoW
<copyInputFactIntoWordNode (inputFact)> #
𝛼131𝑐 : Load belief 𝛽 from SMM Buffer. # <loadBeliefFromSMMBuffer (belief)> #
Procedural knowledge from NGOMSL Procedural knowledge has the form of reasoning rules. A Reasoning rule is a
statement of rule programming logic that specifies the execution of one or
more actions in case its conditions are satisfied, i.e. production rules
react to states changes (Boley, Paschke & Shafiq, 2010). According to Chihani,
Bertin, Suprapto,
Zimmermann & Crespi (2012) a Reasoning Rule is an IF-THEN rule, where the
condition part (IF) is a set of Situation instances, and the action part
(THEN) is a set of Action instances. This rules are used in statements about
the agents’ ability to reason and communicate, i.e. about their mechanisms
(Agotnes & Walicki, 2004).
Below the reasoning rules that the cognitive agent will develop for perform
a syntactic analysis of answers to open questions in a SABER test are
presented:
𝜌𝟏𝟎𝟏 Selection rule set for goal 𝛾𝟏𝟎𝟎: Sentence Processing
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟎
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟏: Check the grammatical category
of the input word)
Step 2. 𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟎: Sentence Processing)
𝜌𝟏𝟎𝟐 Selection rule set for goal 𝛾𝟏𝟎𝟏: Check the grammatical category of the
input word
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟏
mental state is 𝜎𝟏𝟎𝟐
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟏: Read word from perceptor
<text_perceptor_1>)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟑: Load SSM buffer)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟐: Check the grammatical category
of the input word)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟐𝟒: Recognize input fact)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟒: Load SMM buffer)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟔: Encode Lexical buffer as Belief)
𝛼101𝑐
: Accomplish Goal (𝛾𝟏𝟎𝟕: Encode Problem Domain buffer
<updating 𝜋: 𝑖𝑛𝑖𝑐𝑖𝑜) 𝛼101
𝑐: Accomplish Goal (𝛾𝟏𝟎𝟖: Update <Word Node> at Model of
the World (MoW))
𝛼101𝑐
: Accomplish Goal (𝛾𝟏𝟎𝟗: Encode <Word Node> at MoW)
Step 2. 𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟏: Check the grammatical
category of the input word)
𝜌𝟏𝟎𝟑 Selection rule set for goal 𝛾𝟏𝟎𝟐: Read word from perceptor
<text_perceptor_1>
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟐
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼103𝑝
: Encode Fact (input fact 𝜑 )
𝛼104𝑐 : Save Fact Into SSM (input fact 𝜑 )
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟐: Read word from
perceptor <text_perceptor_1>)
𝜌𝟏𝟎𝟒 Selection rule set for goal 𝛾𝟏𝟎𝟑: Load SSM buffer
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟑
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼105𝑐 : Copy Fact Into BCPU.input (input fact 𝜑 )
𝛼102𝑐
: Return Goal Accomplished (𝛾𝟏𝟎𝟑: Load SSM buffer)
Step 1. Copy input fact 𝜑 into SSM buffer at BCPU.Input
Step 2. Return with goal accomplished.
𝜌𝟏𝟎𝟓 Selection rule set for goal 𝛾𝟏𝟐𝟒: Recognize input fact
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟐𝟒
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟐𝟐: Load recognition inputs)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟐𝟓: Trigger recognition judgment)
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟐𝟑: Encode recognition judgments)
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟐𝟒: Recognize input fact)
𝜌𝟏𝟎𝟔 Selection rule set for goal 𝛾𝟏𝟎𝟒: Load SSM buffer
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟒
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼106𝑐
: Retrieve Belief From SMM ()
𝛼107𝑐 : Copy Belief Into SMM Buffer ()
𝛼102𝑐
: Return Goal Accomplished (𝛾𝟏𝟎𝟑: Load SSM buffer)
Step 1. Retrieve belief 𝛽 from SMM using BCPU.Input 𝜑 ∶ 𝒘𝒐𝒓𝒅 as cue Step 2. Copy belief 𝛽into SMM buffer Step 3. Return with goal accomplished.
𝜌𝟏𝟎𝟕 Selection rule set for goal 𝛾𝟏𝟎𝟓: Load Lexical buffer
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟓
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼122𝑐 : Load fact from BCPU.Input()
𝛼105𝑐 : Copy Fact Into BCPU.input()
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟓: Load Lexical buffer)
Step 1. Load input fact 𝜑 from BCPU.Input (SSM)
Step 2. Copy input fact 𝜑 into <Word Node> Buffer/Field at MoW
Step 3. Return with goal accomplished.
𝜌𝟏𝟎𝟖 Selection rule set for goal 𝛾𝟏𝟎𝟔: Encode Lexical buffer as Belief
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟔
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal ()
𝛼127𝑐 : Load fact from BCPU.Input ()
𝛼110𝑐 : ALTER Refactory Fact ID
𝛼112𝑐 : ALTER Update Fact Add Field ()
𝛼111𝑐 : ALTER Update Fact (𝜑 :next with <null>)
𝛼111𝑐 : ALTER Update Fact (𝜑 :typeSMU with 𝛽:tipo)
𝛼116𝑐 : Copy Belief Into Word Node at MoW ()
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟔: Encode Lexical buffer
as Belief)
𝜌𝟏𝟎𝟗 Selection rule set for goal 𝛾𝟏𝟎𝟕: Encode Problem Domain buffer
<updating 𝜋: 𝒊𝒏𝒊𝒄𝒊𝒐>
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟕
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼117𝑐
: Retrieve Belief From Word Node at MoW (Buffer/Field at
MoW)
𝛼114𝑐
: ALTER Update Problem(𝜋:inicio with 𝜙 )
𝛼115𝑐 : Copy Belief Into Lexical STM at MoW ()
𝛼102𝑐
: Return Goal Accomplished (𝛾𝟏𝟎𝟕: Encode Problem Domain
buffer <updating 𝜋: 𝑖𝑛𝑖𝑐𝑖𝑜>)
𝜌𝟏𝟏𝟎 Selection rule set for goal 𝛾𝟏𝟎𝟖: Update <Word Node> at Model of the
World (MoW)
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟖
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼117𝑐 : Retrieve Belief From Word Node at MoW (Buffer/Field at
MoW)
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟖: Update <Word Node> at
Model of the World (MoW))
𝜌𝟏𝟏𝟏 Selection rule set for goal 𝛾𝟏𝟎𝟗: Update <Word Node> at Model of the
World (MoW)
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟎𝟗
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼113𝑐 : Retrieve Belief From Lexical Buffer ()
𝛼128𝑐 : Load belief 𝜛 from <Word Node> (Buffer/Field at MoW )
𝛼129𝑐 : ALTER 𝜑 Update 𝜑 :next with 𝜛 ()
𝛼115𝑐 : Copy Belief Into Lexical STM at MoW ()
𝛼116𝑐 : Copy Belief Into Word Node at MoW ()
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟎𝟗: Encode <Word Node> at
MoW)
𝜌𝟏𝟏𝟐 Selection rule set for goal 𝛾𝟏𝟐𝟎: Identify the grammatical pattern of
the input sentence
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟐𝟎
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal(𝛾𝟏𝟐𝟏: Encode the grammatical pattern of
the input sentence)
𝛼102𝑐
: Return Goal Accomplished (𝛾𝟏𝟐𝟎: Identify the
grammatical pattern of the input sentence)
𝜌𝟏𝟏𝟑 Selection rule set for goal 𝛾𝟏𝟐𝟏: Encode the grammatical pattern of the
input sentence
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟐𝟏
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal(𝛾𝟏𝟐𝟏: Encode the grammatical pattern of
the input sentence)
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟐𝟏: Encode the grammatical
pattern of the input sentence)
𝜌𝟏𝟏𝟒 Selection rule set for goal 𝛾𝟏𝟐𝟐: Encode the grammatical pattern of the
input sentence
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟐𝟐
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼122𝑐 : Load fact from BCPU.Input ()
𝛼123𝑐 : Load Pattern 𝜏 from Pattern Buffer
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟐𝟐: Load recognition
inputs)
𝜌𝟏𝟏𝟓 Selection rule set for goal 𝛾𝟏𝟐𝟑: Encode recognition judgments
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟐𝟑
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼124𝑐
: Encode a new belief with judgment 𝜗 () 𝛼125
𝑐: Copy belief 𝜗 into pattern buffer at BCPU.Pattern
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟐𝟑: Encode recognition
judgments)
𝜌𝟏𝟏𝟔 Selection rule set for goal 𝛾𝟏𝟐𝟓: Trigger recognition judgment
Step 1. If
# Attention system state
problem is 𝜋𝟏𝟎𝟎
goal is 𝛾𝟏𝟐𝟓
mental state is 𝜎𝟏𝟎𝟏
perceptor is 𝜍𝟏𝟎𝟏
# Constraints
Then
𝛼101𝑐 : Accomplish Goal (𝛾𝟏𝟎𝟒: Load SMM buffer)
𝛼126𝑐 : Trigger a judgment 𝜗 judgment ()
𝛼102𝑐 : Return Goal Accomplished (𝛾𝟏𝟐𝟓: Trigger recognition
judgment)
Selection rule set for goal: Draw an object Step 1. If object is a
component, then Accomplish Goal: draw a component Step 2. If object is a
wire, then Accomplish Goal: draw a wire Step 3. ... Step 4. Return with
goal accomplished
Metamodelo
A Metamodel is a model for to define models. The Metamodel that is
presented in the Figure 1 is based in MOF Standard (Meta Object Facility),
which is composed by four levels. The Evaluation Process Meta-Model is
presented as follows:
Figure 1.
Evaluation Process Meta-Model.
1.
2. Concepts Definition
3. A definition table was developed to identify concepts that are within
the evaluation process, with the purpose of define the actions or
elements that correspond to each one.
4. In the table 1, the concepts and relationships within of the
Metamodel Evaluation Process Meta-Model are described.
Concept Description Concepto Descripción
Evaluation
Evaluation
encloses the whole
evaluation
process.
Evaluación
#La Evaluación incluye
todo el proceso de
evaluación
Activity Basic element that
composes a test. Actividad
#Elemento básico que
compone una prueba
Task Model
Characteristics
set that has a
test.
Modelo de la
Tarea
#Conjunto de
características que
posee una prueba.
Exemplar Task
This class refers
the ideal
Student’s work
that is expected
in each activity
proposed by the
test and therefore
corresponds the
highest level of
the measurement
model.
Tarea Ejemplar
#Esta clase se refiere
al trabajo ideal del
estudiante que se
espera en cada
actividad propuesta
por la prueba y por
ende corresponde al
nivel más alto del
modelo de medición.
Student Model
It encloses the
characteristics
that categorize a
student according
with the Student’s
work given in the
test.
Modelo del
Estudiante
#Incluye las
características que
categorizan a un
estudiante de acuerdo
con su trabajo dado en
la prueba.
Student Model
Setting
They are the
attributes that
compose the
Student Model
class.
Característica
del modelo del
estudiante
#Son los atributos que
componen a la clase
Modelo del Estudiante.
Evaluation
procedure
The Evaluation
Procedure is the
sequence of steps
for the evaluation
of an activity.
Proceso de
Evaluación
#Comprende la
secuencia de pasos
para la evaluación de
una pregunta.
Evaluation
Phase
It constitutes a
step of the
evaluation
Procedure of an
Activity.
Fase de
Evaluación
#Constituye un paso de
la secuencia de
evaluación de una
pregunta.
Observable
Evidence
An Observable
Evidence is a
specific
evaluation
criterion that is
part of the
measurement model.
Evidencia
Observable
#Comprende los
criterios de
evaluación específicos
que componen el modelo
de medición.
Measurement
Model
The measurement
model is the
rating scale, by
which is evaluated
the student’s
work. This model
is composed of the
observable
evidences that
come from the
student’s work.
Modelo de
Madición
#El modelo de medición
es la escala de
calificación, con la
cual se evalúa la
respuesta del
estudiante a una
pregunta. Este modelo
se compone de las
evidencias observables
que provienen de la
respuesta.
Work Product
Specification
This refers to the
answer that the
student presents
to proposed
evaluation
activity.
Especificación
del Producto
del Trabajo
#Esta hace referencia
a las respuestas que
el estudiante
consolida en el
instrumento de
evaluación.
Material and
Presentation
It is the
instrument
(digital or
physical) by which
the activities are
performed.
Materiales y
Presentación
#Es el instrumento
(digital o físico) por
medio del cual se
realizan las
actividades.
Requerimientos
En este apartado se actualiza el estado del servidor CARINA API RESTful, el
cual será el encargado de procesar la información que será consumida por el
agente CAFÉ-OQ.
En primera instancia se describirán los procesos desde la carga del modelo
cognitivo hasta su procesamiento dentro de CARINA y posterior respuesta.
Arquitectura Rest
REST (Representational State Transfer) es el tipo de arquitectura
implementada en CARINA a nivel de servidor y está apoyada en el estándar
HTTP.
Interfaz uniforme: mensajes descriptivos
o Mensajes descriptivos:
▪ Se utilizarán las características del protocolo http:
● HTTP Verbs.
● HTTP Status Codes.
● HTTP Authentication.
Separación de cliente y servidor
● El cliente es el agente CAFÉ-OQ y servidor CARINA API RESTful los cuales
se encuentran en servidores separados, CAFÉ-OK consume los servicios de
CARINA mediante la interfaz uniforme.
● Los desarrollos de CARINA y CAFÉ-OK se diseñan con arquitecturas
diferentes servidores.
● CARINA suministra los servicios necesarios para que cualquier cliente
o agente con un modelo cognitivo pueda utilizar una instancia que le
provea los servicios.
Versiones del API
CARINA API RESTful se encuentra versionada y su implementación debe ser
configurada antes de su uso, esto garantiza la adecuada utilización de las
consultas URL y sus respectivas respuestas.
Es posible a futuro versionar sin necesidad de una configuración inicial,
esto se logrará a través de la url:
http://localhost:3003/v1/startCarina
http://localhost:3003/v2/startCarina
...
Entorno de trabajo
● Node v6.11.3
● Git v2.14.1.windows.1
● Windows v10
● Sublime text v3
● Firebase v3.15.2
● Postman v5.3.2
URL
Las url están abiertas.
URL de carga del modelo cognitivo:
URL api http://localhost:3003/api/
HTTP POST
POST body cognitiveModel.json
Result 200 OK HTTP/1.1
URL full http://localhost:3003/api/startCarina
Resultados posibles:
● 403 (Acceso prohibido)
● 400 (petición incorrecta, p.ej. falta un campo o su valor no es
válido)
● 500 (Error del lado del servidor al intentar montar el recurso)
● 200 (Recurso montado correctamente)
Modelo cognitivo
Modelo cognitivo en formato Json
CognitiveModel.json
{
"name": "Modelo para evaluación de preguntas abiertas", "type": "Evaluate_Open_Ended_Question_Problem",
"problems": { "p0": {
"__comment": "Evaluar la estructura de la oracion de entrada", "type": "SOE", "inicio": null,
"tipo": null }
}, "mentalStates": {
"problem_is_done": false, "ctg_is_checked": false, "soe_is_checked": false,
"word_is_read": false, "soe_is_ok": false
}, "behaviors": [
{ "precondition": { "word_is_read": true
}, "effect": {
"word_is_read": true },
"tasks": [ "readWord" ]
} ],
"goals": {
"g0": { "mental_state": "problem_is_done",
"current_value": false, "target_value": true
}, "g1": { "mental_state": "word_is_read",
"current_value": false, "target_value": true
}, "g2": {
"mental_state": "ctg_is_checked", "current_value": false, "target_value": true
}, "g3": {
"mental_state": "soe_is_checked", "current_value": false,
"target_value": true }, "g4": {
"mental_state": "soe_is_ok", "current_value": false,
"target_value": true }
}, "productionRules": { "rule101": {
"condition": { "attention_system":{
"problem": "p0",
"goal": null,
"state": null, "sensor": null },
"constraint": {} },
"conclusion": { "action1": { "name": "encodeAsBelief",
"arg": { "problem": "p0"
} },
"action2": { "name": "activeSensor", "arg": {
"sensor": "perceptor_input_text_1" }
},
"action3": {
"name": "setGoal", "arg": { "goal": "g1"
} }
} },
"rule102": {
"condition": { "attention_system": {
"problem": "p0", "goal": "g1",
"state": null, "sensor": "perceptor_input_text_1" },
"constraint": { "problem": {
"inicio": null }
} }, "conclusion": {
"action1": { "name": "loadBufferSSM",
"arg": { "perceptor": "perceptor_input_text_1"
} }, "action2": {
"name": "retrieveFromSMM", "arg": {
"cue": [ "palabra"
] } },
"action3": { "name": "updateSMM",
"arg": {
"cue": [
"palabra" ] }
}, "action4": {
"name": "loadToMoW", "arg": { "fact": "bufferSSM"
} },
"action": { "name": "setGoal",
"arg": { "goal": "g1" }
} }
}
},
"beliefs": {...} }
Prueba de ejecución
El inicio de la prueba de ejecución consta en primera instancia de la
puesta en marcha del servidor.
npm start && npm run watch
Para ejecutar las peticiones al servidor utilizamos la aplicacion postman(
https://www.getpostman.com/ ) emulando el cliente CAFÉ-OQ, se envia la
siguiente petición:
URL api http://localhost:3003/api/
HTTP POST
POST body cognitiveModel.json
result 200 OK HTTP/1.1
URL full http://localhost:3003/api/startCarina
Tal como se muestra en la siguiente imagen:
En la siguiente imagen se describe el proceso de carga y distribución del
modelo cognitivo en Carina:
ESQUEMA GENERAL DE LA ARQUITECTURA KARINA
Carina está compuesto por un módulo de memoria, un módulo de funciones cognitivas y
un módulo de percepción. El módulo de memoria se compone de tres estructuras de
memorias principales, los cuales son:
Memoria Procedimental: Esta memoria contiene el conocimiento procedimental y
las acciones computacionales que KARINA es capaz de realizar.
Memoria Semántica: Este tipo de memoria contiene el conocimientos que Karina
tiene acerca de cada uno de los temas del dominio de las preguntas abiertas
que se van a evaluar.
Memoria Episódica: Almacena los eventos o sucesos y la temporalidad en la
secuencia de las oraciones de entradas que se van a evaluar.
Una vez cargado el modelo cognitivo, se inicia el proceso de carga en memoria
de sus partes, la consola CMD de Windows nos va reportando paso a paso el
proceso de carga.
Se adiciona el Domain Problem en la memoria temporal
Lectura de los behaviors, y current problem
Lectura de reglas de producción
Match pregunta actual y obtención del fact, codificación del Belief
Segunda Validación de Requisitos
Validación de Requisitos entre ICFES y Universidad de Córdoba.
En la reunión llevada a cabo con el ICFES en la ciudad de Montería durante el
mes de noviembre, se hizo un trabajo para llegar a acuerdos sobre los aspectos
básicos y fundamentales en los cuales se basaría el desarrollo del proyecto de
investigación CAfE-OQ.
Los delegados del ICFES hicieron una socialización de los aspectos básicos que
se tienen en cuenta a la hora del diseño de un banco de preguntas abiertas por
parte del ICFES y expusieron la información sobre el modelo que utilizan para
ello. Adicionalmente se habló de los aspectos que el ICFES esperaba del proyecto.
Por parte del equipo de la Universidad de Córdoba se hizo una exposición de las
herramientas utilizadas para hacer un reconocimiento óptico de caracteres
utilizando herramientas como el API de Visión de Google Cloud, Tensorflow de
Google y el sistema Tesseract, así como algunas herramientas adicionales de
internet, se llegó a la conclusión de que el esfuerzo que implica tratar de
identificar adecuadamente la caligrafía a mano alzada de los jóvenes y niños
colombianos, era un esfuerzo muy grande y que no garantiza un éxito del 100%,
que es fundamental para que se inicie el proceso de análisis; al final se
determinó que era muchísimo mejor enfocar los esfuerzos en el desarrollo de un
proyecto que permitiera hacer la evaluación de las preguntas partiendo de que se
han entregado digitalizadas. Esto está en la línea de lo que está intentando
hacer el ICFES en Colombia, de realizar una evaluación en línea a los estudiantes
y tener los registros de manera digital.
En otro momento de la reunión se pasó a determinar las necesidades fundamentales
del ICFES para iniciar el análisis de la tarea cognitiva, pero rápidamente se
determinó que era muy importante para el ICFES, definir un metamodelo que pudiera
utilizarse para diseñar diferentes modelos específicos de preguntas y para el
proyecto se diseñaría e instanciaría un modelo cognitivo basado en ese
metamodelo, para un tipo de pregunta en particular que es la pregunta abierta.
El ICFES indicó que, para poder identificar los aspectos principales de la
respuesta de un estudiante a una pregunta formulada, habría que analizar
diferentes evidencias relacionadas con tres afirmaciones. Esta información se
presentó de manera verbal, indicando además que algunas de estas evidencias eran
inviables de alcanzar en el corto tiempo que dura el proyecto. Así como la
dificultad para entregar información detallada al respecto por política interna
del ICFES. Esta dificultad se extendió al no suministro de un banco de preguntas
y respuestas de estudiantes de casos reales de la prueba, así como las escalas
y criterios de valoración de las respuestas a las preguntas formuladas por el
ICFES.
En este sentido se acordó que los aspectos que la Universidad debería trabajar,
son: identificar la estructura sintáctica de la respuesta y determinar si la
respuesta realmente responde a la pregunta formulada, reconociendo que esta
última es una de las actividades más complejas y que seguramente el corto tiempo
dificultaría encontrar soluciones viables, por esto se plantea hacerlo solo a
nivel factoide.
La Universidad de Córdoba presentó la manera cómo se iba a abordar el proyecto
por parte del equipo de investigación, se hizo la exposición sobre ciencia
cognitiva, arquitecturas cognitivas y modelado cognitivo. Se pasó a detallar la
arquitectura Karina y la explicación de que tiene dos niveles un Nivel Objeto,
donde agrupa las funciones básicas del procesamiento de la información en un
ciclo cognitivo desde la percepción, pasando por el reconocimiento, la
planificación y la toma de decisiones, hasta las acciones; que son las funciones
que se requieren para el desarrollo de este proyecto, junto con los módulos de
memoria requeridos para hacer los procesos de acuerdo a la teoría de la ciencia
cognitiva. Para este proyecto no se requiere la implementación del Nivel Meta.
Esta arquitectura cognitiva, implica una forma de procesar la información
teniendo en cuenta una planificación basada en objetivos, que disparan o ejecuta
una serie de acciones a partir de unas reglas definidas que se basan y alteran
los estados mentales del agente cognitivo.
Para desarrollar el prototipo, siguiendo este enfoque, se requiere el desarrollo
de Karina, el diseño de un modelo cognitivo que incluye: modelos mentales, reglas
de producción, objetivos, etc. para el tipo de problema particular, que en este
caso se refiere a la a la evaluación de la respuesta a una pregunta abierta.
Para gestionar este modelo cognitivo se propuso desarrollar una aplicación
denominada CAMS (Cognitive Agents Management System) qué quiere decir Sistema de
Administración de Agentes Cognitivos, este sistema CAMS debe permitir la
visualización un modelo cognitivo que ya se encuentre diseñado, va a contar con
una sección para editar esos modelos cognitivos y este modelo cognitivo se va a
poder enviar a Karina quien ejecutará el modelo cognitivo, eso cambiará los
estados de memoria de Karina que pueden ser también vistos desde CAMS,
especialmente la parte de la memoria de trabajo. Finalmente tendrá una sección
donde se podrán enviar frases o las respuestas de los estudiantes que karina va
a comparar con los datos de su memoria semántica para evaluar las respuestas de
los estudiantes.
En resumen se ha estipulado que entonces se van a realizar para el prototipo 2
afirmaciones (análisis a nivel sintáctico y correspondencia de la respuesta a la
pregunta planteada, a nivel factoide). Así los acuerdos a los que se llegó con
el ICFES para el desarrollo de esta investigación son:
Se utilizará el sistema Karina con las funciones básicas para correr o
ejecutar un modelo cognitivo para la resolución de este problema en
particular.
Se va a diseñar un metamodelo
Se diseñará un modelo cognitivo que pueda ejecutar Karina
Se desarrollará una interfaz donde se pueda:
Visualizar el modelo
Editar un modelo
Remitir el modelo a Karina
Ver la memoria de trabajo de Karina
Enviar frases a Karina para que sean interpretadas
Se interpretarán las respuestas de los estudiantes a nivel
sintáctico
Se determinará si la respuesta corresponde a la pregunta
realizada (a nivel factoide)
Configuración del Modelo Cognitivo
El modelo cognitivo es un archivo con formato JSON esto implica que
su configuración requiere mucho cuidado para evitar errores de
sintaxis en la escritura del modelo debido a esto se ha implementado
una herramienta que permite editar, y configurar el modelo cognitivo
de una forma amigable de manera tal que cuenta con una interfaz
gráfica del usuario que evita los errores de sintaxis que se pudieran
producir si la configuración fuese hecha en manualmente.
Editor
Página principal para la creación y edición de modelos cognitivos.
http://cams.gau.com.co
Sección de creación de modelos Cognitivos y visualización del
modelo en curso.
Primera sección para la selección y edición de los modelos
cognitivos existentes.
Segunda sección para la edición del modelo cognitivo seleccionado.
Esquema
Con el propósito de ayudar a la creación adecuada de nuevos modelos
cognitivos y la implementación de herramientas tecnológicas basadas en
JSON para trabajar este tipo de modelo cognitivo, se ha creado un
esquema que permita determinar si un modelo cognitivo tiene una
estructura válida.
Para esto se han definido los tipos de atributos que pueden tener cada
uno de los modelos cognitivos, este esquema permite identificar para
cada tipo de elemento que hace parte del modelo cognitivo las
características que deben cumplir para que sea válido para el programa
Karina que es quien luego lo debe interpretar.
Los esquemas para archivos JSON, son construidos bajo un estándar
internacional, que diversos lenguajes pueden validar. Existen
herramientas que permiten, a partir de un esquema, construir interfases
para crear nuevos archivos JSON basados en la estructura dada que
responden a la estructura.
A continuación se presenta una imagen de parte de la estructura válida
de un modelo cognitivo. El archivo completo se encuentra anexo.
Puede validar la configuración del modelo cognitivo en la página
http://jeremydorn.com/json-editor/.
Montería, 22 de noviembre de 2017
Informe Técnico sobre Avances en el Desarrollo de
la Interfaz para el Agente Cognitivo CAfE-OQ
En el marco del proyecto de investigación “Uso de la Computación Cognitiva
para abordar el procedimiento de agilizar los procesos de evaluación de las
preguntas abiertas de las pruebas ‘SABER’, de forma que se reduzca tiempo y
costo de la calificación en el Instituto Colombiano para la Evaluación de
la Educación – ICFES”. Se adelantan diferentes tareas para el diseño de un
Agente Cognitivo para la Evaluación de Preguntas abiertas, que se ha
nombrado CAfE-OQ por las iniciales se su descripción en inglés: “Cognitive
Agent for Evaluate Openned Questions”.
En el presente informe se presentan los avances en el desarrollo de las
tareas asociadas a la Fase 3, que es el esquema de fases, tareas y
productos, para el desarrollo de CAfE-OQ, se ha planeado lo siguiente:
Fase 3: Desarrollo del Agente Cognitivo para la evaluación de preguntas
abiertas de las pruebas “SABER”
Tarea 1: Configuración de la arquitectura cognitiva.
Diagrama que describe la arquitectura cognitiva.
Tarea 2: Diseño y codificación del prototipo
Entrega del Prototipo en el sistema indicado por el ICFES
Tarea 3: Configuración del modelo cognitivo
Diagrama de configuración del Modelo Cognitivo.
Tarea 1: Configuración de la arquitectura cognitiva Se presenta a continuación el diagrama de la arquitectura cognitiva de
CARINA, la cual será implementada solamente en el Object-Level, para
favorecer el desarrollo del proyecto CAfE-OQ.
Carina es una arquitectura que está inspirada en las teorías de la ciencia
cognitiva, en ese sentido toda su estructura obedece a la interpretación que
ha realizado el grupo de investigación de las investigaciones adelantadas en
el área de la cognición, en este momento la arquitectura está diseñada en
dos capas, la primera se llama ObjectLevel, a este nivel se desarrollan todas
las funciones básicas cognitivas que realiza un agente cognitivo. El MetaLevel
es una capa que está especializada en los procesos de introspección que
realiza un agente cognitivo, es decir el razonamiento que hace sobre su propio
razonamiento, en ese sentido las funciones metacognitivas están alrededor de
un elemento estructural que se conoce como Self-Model, qué es el modelo de
sí mismo, es decir, el modelo de conocimiento que tiene el agente sobre sí
mismo y las funciones que realizan a nivel de ObjectLevel; por otro lado
están las funciones cognitivas básicas e inmediatas que realiza el agente
para dar respuesta a los problemas que plantea el entorno; ObjectLevel tiene
una unidad estructural llamada modelOfTheWord o modelo del mundo sobre el
cual se basan todas las funciones cognitivas de este nivel, ModelOfTeWorld
se corresponde con la representación del entorno, en el caso del agente CAfE-
OQ el entorno es la solución de la tarea, que es la evaluación de la respuesta
dada por el usuario a la pregunta propuesta por el ICFES. Adicionalmente los
dos niveles pueden acceder a los diferentes módulos de memoria especializados,
entonces la memoria procedural la memoria declarativa y la memoria semántica
y la memoria sensorial.
CAMS: Cognitive Agents Management System El aplicativo CAMS, permite el diseño del modelo cognitivo de un agente, en
este caso el agente CAfE-OQ, esta interfaz tiene una sección de edición que
permite cargar un modelo cognitivo, guardarlo y editarlo. En el modo de
edición se podrá agregar o eliminar cualquiera de los elementos que componen
la estructura del modelo cognitivo.
http://ec2-34-216-65-105.us-west-2.compute.amazonaws.com
Estructura del Modelo Cognitivo para CAfE-OQ
Para el agente cognitivo de CAfE-OQ se ha previsto una estructura del modelo
cognitivo que inicia con el nombre y el tipo de problema o problemas que debe
resolver el agente, seguido de los estados mentales por los cuales atravesará
el agente durante la solución de los problemas, luego los objetivos que se
corresponden con cada uno de los estados mentales y las reglas que van a
determinar la aplicación de un procedimiento determinado en la medida en que
los objetivos se van cumpliendo, estas reglas tienen asociadas una condición
que cuando se cumplen, se ejecutan las acciones indicadas; finalmente tenemos
el conjunto de creencias que tiene el agente y que harán parte de la memoria
semántica de Carina una vez se ha cargado el agente en la arquitectura.
Para la implementación del agente cognitivo CAfE-OQ se ha diseñado una
infraestructura basada en AWS, Amazon Web Services, dado que esta es la
infraestructura tecnológica con la que cuenta el ICFES.
Existen pruebas de ejecución del modelo cognitivo en formatos de
video, en la siguiente URL se encuentra:
https://drive.google.com/drive/folders/1WV1UJfqw6h4hM4z5GQW2P3kesapPbHWI
CONCEPTOS DEL ICFES
1. Primer concepto
La primera reunión que se realizó en la ciudad de Montería el mes de noviembre
del año 2017 nosotros como ICFES identificamos que la posibilidad que plantea
la Universidad de Córdoba de abordar este tipo de problemas es prometedora,
es viable poder desarrollar un proceso que nos interesa al interior del ICFES
en el sentido de poder hacer un sistema automático que pueda razonar acerca
de la validez de la respuesta a una pregunta abierta especialmente en algunas
de las evidencias que nosotros requerimos evaluar en este tipo de preguntas.
En este sentido la informática y la computación cognitiva ofrece mecanismos
que permiten realizar el proceso de evaluación de preguntas abiertas.
Ya hemos ajustado con ellos el alcance de este primer proyecto y la manera
cómo se podría abordar el proceso para tener resultados que nos puedan mostrar
con mayor claridad que todo el proceso que se ha planteado en la teoría pueda
llevarse a un sistema de cómputo funcional. Es importante destacar que este
enfoque aporta claridad sobre la manera de sistematizar el análisis de las
preguntas.
La manera como se procesa y poder dar una información hacia el futuro de cómo
están respondiendo las preguntas los estudiantes, incluso el proceso llegaría
a necesitar a generar un sistema de información que pueda evidenciar la manera
cómo los estudiantes están respondiendo las preguntas. Esto puede dar pie a
generar un banco de modelos cognitivos de los estudiantes que demuestren los
modelos específicos que estarían presentando en la prueba escrita.
Con el propósito de determinar si ese tipo de tecnología puede integrarse
adecuadamente a los sistemas de información que requiere el ICFES, vemos
viable la posibilidad que se hagan pruebas de integración de las tecnologías
que se van a utilizar para el desarrollo de los agentes inteligentes en la
arquitectura AWS, la cual es utilizada en los sistemas de información del
ICFES.
Digitalización y extracción del texto del corpus
del contenido de la respuesta
Para la digitalización y extracción del texto de la respuesta, Carina
divide el texto recibido en pequeños fragmentos(palabras), los cuales,
de manera individual son procesados y comparados dentro de su memoria
semántica con las palabras que esta conoce(beliefs). Un belief en
KARINA, es la unidad mínima de conocimiento que esta posee para
reconocer el texto.
Si KARINA reconoce una palabra, entonces conoce el tipo de la categoría
gramatical al cual pertenece y por ende reconocería la estructura
gramatical por la cual se compone una oración que contiene varias
palabras.
Actualmente KARINA cuenta más de 1.166 palabras pertenecientes a
distintos tipos de categorías gramaticales, almacenadas en su memoria
semántica, estas palabras fueron extraídas de los textos “literato Wu”
y “Los nuevos templos”, publicadas por el ICFES como ejemplo de
lecturas que se emplean en la evaluación de preguntas abiertas.
para este informe se ha preparado el archivo beliefs.json que
contiene xxxxx beliefs, siguiendo la estructura definida para esta
unidad de información para la arquitectura KARINA.
"lugar":{
"es (TypeSMU)": "CGR",
"tiene":{
"genero": "masculino",
"numero": "singular",
"tipo": "SUS",
"subtipo": "sustantivo común",
"lema": "lugar"
}
},
Análisis del contenido del texto extraído de la
Respuesta de la Pregunta Abierta
Sentence Processing in CARINA
Tradicionalmente, se les conoce como categorías gramaticales a
distintas clasificaciones en las que se agrupan las palabras de la
lengua según el significado que tienen, su función gramatical y la
manera en la que se estructuran, se combinan y se modifican.
URL del artículo: http://www.ejemplode.com/12-clases_de_espanol/2157-
ejemplo_de_categorias_gramaticales.html
En este sentido tradicional de lo que entendemos por categoría
gramatical, se distinguen nueve categorías principales, a las cuales
también se les conoce como clases de palabras. Estas nueve categorías
son: sustantivos, artículos, adjetivos, verbos, pronombres,
preposiciones, conjunciones e interjecciones.
URL del artículo: http://www.ejemplode.com/12-clases_de_espanol/2157-
ejemplo_de_categorias_gramaticales.html
Leer completo: ejemplos de Categorías gramaticales
SUS Sustantivos
ART Artículos
ADJ Adjetivos
VRB Verbos
PRN Pronombres
PRP Preposiciones
CNJ Conjunciones
INT Interjecciones
CTG Categoría gramatical
ODE Oración de entrada
SOE Estructura de Oración de Entrada
VISTA PARCIAL DE MEMORIA SEMÁNTICA EN KARINA
NÚCLEO DEL SISTEMA DE TOMA DE DECISIONES EN KARINA
El sistema de toma de decisiones en KARINA, es también denominado sistema de
razonamiento. El sistema de razonamiento de KARINA en orientado a objetivos. La formulación
de objetivos es fundamental para la investigación sobre el control de agentes
de alto nivel porque aborda un problema importante: la mayoría de los agentes
no actúan razonablemente cuando se encuentran situaciones nuevas e
inesperadas (Wilson, Molineaux & Aha, 2013). En Karina la toma de decisiones en el proceso de razonamiento se hace con
base a un sistema motivacional que organiza los objetivos (goals) en forma
de árboles dinámicos de decisión, tal y como se muestra en la figura 1. En
el sistema motivacional los objetivos se crean dinámicamente permitiendo que
cada objetivo pueda tener subobjetivos.
Figura 1. Arbol dinámico de objetivos en el sistema motivacional de KARINA.
La arquitectura también incluye estructuras motivacionales y, por lo tanto,
también incluye la interacción que existe entre las estructuras
motivacionales y otros elementos y subsistemas. La figura 2 muestra las
interacciones entre las acciones y los objetivos durante el procesamiento de
las estructuras gramaticales de las oraciones de entrada. El sistema ca
recorriendo cada objetivo y busca las acciones asociadas, cada vez que un
objetivo se cumple es liberado del sistema motivacional y un registro es
almacenado en un modelo interno del sistema.
Figura 2. Diagrama de secuencia de cumplimiento de objetivos en el sistema
motivacional de KARINA. El agente puede enfocar sus actividades con respecto a objetivos
particulares. Sus acciones son consistentes, persistentes y continuas para
cumplir sus propósitos (Toates 1986). El agente puede renunciar a algunas de
sus actividades, temporal o permanentemente, cuando sea necesario (Sun,
2004). En este sentido en la figura 2 se puede observar como el agente
selecciona algunos objetivos desechando otros. Karina utiliza ciclos cognitivos para procesar las respuestas a las preguntas
abiertas, cada ciclo cognitivo puede variar en cuanto a las funciones
cognitivas que lo componen. En el caso de la validación de la estructura
gramatical de una oración de entrada, el sistema realiza un ciclo cognitivo
que emplea las funciones de percepción, reconocimiento, planeación y
actuación. En la Figura 3, se presenta una tabla circular que describe las relaciones
entre los objetivos, los estados mentales y las acciones relacionadas con la
función cognitiva de la percepción en KARINA.
Figura 3. Tabla circular de relaciones entre objetivos, estados mentales y
acciones relacionadas con la percepción en KARINA.
Referencias
M. Wilson, Molineaux, M. , and Aha, D. W. , “Domain-independent heuristics
for goal formulation”, Proceedings of the Twenty-Sixth Florida Artificial
Intelligence Research Society Conference. AAAI Press, St. Pete Beach, FL,
pp. 160-165, 2013. BibTex Toates, F. (1986). Motivational Systems. Cambridge University Press,
Cambridge, UK. Sun, R. (2004). Desiderata for cognitive architectures. Philosophical
Psychology, 17 (3), 341-373
CONCEPTOS DEL ICFES
1. Segunda reunión.
El trabajo que está realizando la Universidad de Córdoba con su equipo de
investigadores pondría al ICFES en la vanguardia del procesamiento de
preguntas abiertas en las pruebas de estado.
El desarrollo teórico práctico que presentó el grupo de investigación de la
Universidad de Córdoba que muestra avances sustanciales que son muy
prometedores con respecto a la implementación de cada una de las afirmaciones
y las evidencias que nosotros utilizamos para evaluar la pregunta abierta. En este sentido, en la reunión que se realizó en las instalaciones del ICFES,
el grupo de investigación presentó y explicó la fórmula mediante la cual se
determina si el estudiante respondió a la pregunta que se le planteó. El
método está basado en la comparación de características comunes de conceptos,
el cual es un enfoque que consideramos acertado para abordar este problema.
En la ciudad de Montería el grupo de investigación presentó, el procesamiento
que utiliza KARINA para revisar la sintaxis de las oraciones que conforman
la respuesta del estudiante, utilizando Inteligencia artificial con
particularmente la informática y la computación cognitiva. A nuestro parecer
el procesamiento propuesto es adecuado para la resolución de este tipo de
problema complejo que involucra el cómputo de concepto, argumentos y
procesamiento de palabras en oraciones presentes en las respuestas de
preguntas abiertas de las pruebas del ICFES.