Impacto de la computación cognitiva en la ingeniería de requerimientos
Enviado por Ensa05 • 19 de Diciembre de 2018 • 3.792 Palabras (16 Páginas) • 372 Visitas
...
Elementos de un sistema cognitivo
“Un sistema cognitivo consta de muchos elementos diferentes, que van desde el hardware y los modelos de implementación hasta el aprendizaje de máquinas y aplicaciones. Aunque existen muchos enfoques diferentes para crear un sistema cognitivo, hay algunos elementos comunes que deben incluirse. La Figura 1 muestra una visión general de la arquitectura de un sistema cognitivo”. (Hurwitz, J., 2015, p. 17).
[pic 1]
Figura 1: Elementos de un sistema.
Modelo Cognitivo
Según Kaufman (2015), modelo se refiere al cuerpo y el conjunto de suposiciones y algoritmos que generan y puntúan hipótesis para responder preguntas, resolver problemas o descubrir nuevas ideas. La manera en que modelas el mundo determina qué tipo de predicciones puedes hacer, los patrones y las anomalías que puedes detectar, y las acciones que puedes tomar. El modelo inicial es desarrollado por los diseñadores del sistema, pero el sistema cognitivo actualizará el modelo y usará el modelo para responder preguntas o proporcionar ideas.
De acuerdo con Bowles (2015) “El cuerpo es el conocimiento que los algoritmos de aprendizaje de máquina usan para actualizar continuamente ese modelo basado en su experiencia, que puede incluir retroalimentación del usuario”.
Requisitos para diseñar un sistema cognitivo.
Requiere una comprensión de los datos disponibles, los tipos de preguntas que deben hacerse y la creación de un corpus lo suficientemente amplio como para apoyar la generación de hipótesis sobre el dominio basado en hechos observados. Por lo tanto, un sistema cognitivo está diseñado para crear hipótesis a partir de datos, analizar hipótesis alternativas, y determinar la disponibilidad de pruebas de apoyo para resolver problemas. Al aprovechar algoritmos de aprendizaje automático, análisis de preguntas y análisis avanzados de datos relevantes, que pueden estar estructurados o no estructurados, un sistema cognitivo puede proporcionar a los usuarios finales un poderoso enfoque del aprendizaje y la toma de decisiones (Hurwitz, 2015, p. 21).
De acuerdo con Hurwitz, Kaufman y Bowles (2015) en una aplicación de computación cognitiva antes de que se inicie el sistema, debe crearse un cuerpo base y los datos ingeridos. El contenido de este cuerpo de base limita los tipos de problemas que pueden ser resueltos, y la organización de los datos dentro del cuerpo tiene un impacto significativo en la eficiencia del sistema. Por lo tanto, necesita una buena comprensión del área de dominio para su sistema cognitivo antes de determinar las fuentes de datos requeridas. Al desarrollar un sistema cognitivo, es una buena idea errar por el lado de recopilar más datos o conocimiento porque nunca se sabe cuándo el descubrimiento de una asociación inesperada conducirá a nuevos conocimientos importantes. Dada la importancia que se concede a tener la combinación adecuada de fuentes de datos, hay que abordar una serie de preguntas al principio de la fase de diseño de un sistema informático cognitivo:
¿Qué fuentes de datos internas y externas se necesitan para las áreas de dominio específicas y los problemas a resolver? ¿Se ingerirán fuentes de datos externas en su totalidad o en parte? ¿Cómo puede optimizar la organización de los datos para una búsqueda y un análisis eficaces? ¿Cómo puede asegurarse de que el corpus se amplíe para llenar los vacíos de conocimiento en su corpus base? ¿Cómo se puede determinar qué fuentes de datos necesitan actualizarse y con qué frecuencia? (p. 24).
Proceso de diseño de una aplicación cognitiva.
El proceso de diseño de una aplicación cognitiva consta de las siguientes 6 etapas:
- Definición de objetivo: En esta etapa, se definen los objetivos que se desean cumplir con la aplicación, para lograrlo, primero se deben de entender los objetivos y el cómo se van a lograr, seguidamente se deben de entender los tipos problemas que la aplicación atenderá, así como los tipos de usuario con los que trabajará, que necesitan saber estos y en que están interesados, visto que a diferencia de las aplicaciones comunes, los usuarios de las aplicaciones cognitivas esperan más que respuestas a sus consultas, en consecuencia, una aplicación cognitiva debe de brindar respuestas a sus usuarios pero también debe realizar un análisis profundo de contexto relacionado al porqué y el cómo algo pasó.
- Definición de dominio: Esta etapa se basa en la especificación del área de estudio de la aplicación y sus fuentes, definir el dominio es necesario para identificar qué fuentes de información son necesarias para “nutrir” la aplicación y que expertos son asequibles para entrenar el sistema; es importante incluir sujetos no-típicos a la hora de entrenar el sistema, debido a que estos pueden contar con conocimiento adquirido a través de la experiencia del cual algunos expertos del área carecen.
- Entender los usuarios meta y definir sus atributos: Es necesario entender a los tipos de usuarios que utilizarán la aplicación cognitiva con la finalidad de definir las interacciones con el sistema, estas interacciones determinarán el grado de precisión de las respuestas, sin embargo no es necesario anticipar todos los tipos de preguntas que pueda realizar un usuario, debido a que una aplicación cognitiva asume que la información así como las fuentes de conocimiento y requerimientos del usuario aumentaran con el paso del tiempo; La flexibilidad es un factor que garantiza que la aplicación cognitiva se adapte a los cambios en los requerimientos del usuario. Para asegurar el cumplimiento de este factor se recomiendan las siguientes practicas:
- Definir el nivel de entendimiento de dominio por parte de los usuarios.
- Planificar variaciones en los tipos de preguntas y análisis requeridos.
- Mantener el ancho necesario del alcance para satisfacer a diferentes tipos de usuarios.
- Definir preguntas y explorar ideas:
Esta etapa consiste en la definición los tipos de preguntas a las cuales se expondrá la aplicación, así como las ideas los usuarios demandarán.
Mediante la definición de usuarios y dominios, se deben crear perfiles que sirvan de guía al sistema para brindar una respuesta confiable y que el usuario pueda entender; Para esto se debe
...