Corpus

Definición

Un corpus es una colección de conversaciones prototípicas representativas de la comunicación entre diversos agentes (típicamente entre un bot y uno o más usuarios humanos). Un corpus puede ampliarse o no por medio de otra estructura denominada corpus extension (o corpus extendido). Un corpus también puede relacionarse por medio de variables a un knowledge para ampliar su capacidad expresiva.

Un corpus es una estructura de datos utilizada para configurar posibles scenarios por los cuales puede discurrir una conversación.

Nota: un bot en su versión más simple se compone, en primera instancia, de uno o varios corpora.

Un corpus es un medio para que el bot generalice conversaciones, responda correctamente y sepa donde se puede usar la información proveniente del knowledge. Como tal, el corpus es un componente central de un bot de Mammut.

Conceptos relacionados: corpus extension, corpus N, corpus M, scenario, event.

Formato general

Un corpus es una sheet de un Mammut package. Los nombres de las columnas se encuentran en la fila 2.

Cada fila de la sheet se corresponde con un event. La estructura de esta sheet es la siguiente:

Campo Descripción Obligatoriedad
id Identificador de un scenario. Los valores válidos son de tipo entero. Enteros iguales se corresponden a un mismo scenario. Obligatorio.
sub_id Identificador de un event. Los valores válidos son de tipo entero, y estos deben ser consecutivos, de menor a mayor, uno a uno, empezando en 1 cuando forman parte de un mismo scenario. La numeración se reinicia para el siguiente scenario. Los valores consecutivos del sub_id se corresponden con la secuencia prototípica en la que se presentan las partes integrantes de una conversación (por ejemplo, primero un saludo, segundo una pregunta, etc.) Obligatorio.
scenario_type Tiene tres valores posibles: Conversation, Monologue y Dialogue para cada tipo de scenario. Más información en scenario. Obligatorio.
event_message Mensaje que determina al event. Los valores válidos son de tipo cadena de caracteres. En el caso del corpus M, las variables tendrán un formato específico. Obligatorio.
hidden Ignora un event específico. Se marca con una "x" para esconder el event. Se deja vacío este valor para que el event sea tomado en cuenta por el framework. Opcional.
source Origen de los events que recibe o genera el bot. Es una cadena de caracteres. La cadena de caracteres "Mammut" se reserva para los events iniciados por el bot. Cualquier otra cadena será interpretada como el nombre genérico de otro agente. Obligatorio.
regional_seting Especifíca el idioma en que está escrito el event. En esta columna se usan los códigos “es” (para un corpus en español) o “en” (para un corpus en inglés) según sea el caso. Obligatorio
complexity Identificador del grado de complejidad de un event. Los valores válidos son números de tipo entero. Opcional.

Ejemplo

id sub_id scenario_type event_message hidden field source regional_settings
1 1 Conversation Hola! Carla es
1 2 Conversation Hola! Bienvenido a la tienda de varitas y calderos del señor Jollivanders. ¿En qué puedo ayudarte? Mammut es
2 1 Conversation ¿Qué varitas venden? Carla es
2 2 Conversation Vendemos varitas de madera de cedro, de olmo, de sauco. Mammut es
2 3 Conversation ¿Cuál es el precio de la varita de sauco? Carla es
2 4 Conversation La varita de sauco cuesta 50 galeones. Mammut es
2 5 Conversation La quiero Carla es

Tipos de corpus

Corpus N

Corpus compuesto únicamente de scenarios en lenguaje natural. Véase Corpus N.

Corpus M

Corpus compuesto por scenarios que, además de lenguaje natural, permiten usar un lenguaje formal (Mammut Markdown) para conectar el corpus a una ontology (ontología). Véase Corpus M.