acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131wp-user-avatar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131The post Cómo integrar detección de toxicidad en tus chatbots first appeared on Planeta Chatbot.
]]>La definición formal de toxicidad es “muy dañino o desagradable de forma general o maliciosa”. El lenguaje de este tipo puede ser ofensivo para mucha gente o para colectivos específicos y debe ser evitado todo lo posible para garantizar una comunidad sana y sin odio.
Como en la mayoría de técnicas del Procesamiento del Lenguaje Natural, un detector de toxicidad está implementado como un modelo del lenguaje que, dado un input (e.g. el mensaje que se envía al chatbot) produce una salida (en este caso la probabilidad de que el mensaje sea tóxico). Muchos modelos pueden ir más allá de solamente detectar si es tóxico o no. También existe la posibilidad de clasificar la toxicidad por tipos como “insulto”, “obscenidad”, “amenaza”, etc. Esto es muy útil, por ejemplo, en páginas web donde un administrador debe analizar las principales causas del odio en los chats, bloquear a usuarios irrespetuosos o censurar contenido inapropiado.
Xatkit es una plataforma de orquestación en la que intentamos siempre traer las mejores herramientas de NLP disponibles y permitir su uso en nuestros chatbots de una forma sencilla. Respecto a la toxicidad, hemos añadido un nuevo procesador del lenguaje para el análisis de la toxicidad. Es más, hemos proveído dos diferentes implementaciones de detección de lenguaje tóxico. Como cliente, eres libre de escoger la opción que mejor cumpla tus necesidades.
“PerspectiveAPI es el producto de investigación colaborativa por Jigsaw y Google’s Counter Abuse Technology team. Nosotros hacemos de nuestros experimentos, herramientas y datos de investigación un contenido open-source para combatir la toxicidad online y el acoso” (extraído y traducido del sitio web de PerspectiveAPI).
Esta herramienta permite detectar muchos tipos de toxicidad, algunos de ellos en diferentes idiomas. Al usar esta implementación, el chatbot de Xatkit envía una petición a la API para cada mensaje del usuario y recibe una puntuación entre 0 (0% tóxico) y 1 (100% tóxico) para cada tipo de toxicidad que deseemos conocer. Estas puntuaciones están disponibles para el creador del chatbot para decidir qué hacer o cómo responder ante el mensaje basándose en el nivel de toxicidad calculado.
“En Unitary buscamos frenar el contenido ofensivo online interpretando el contenido visual en contexto”.
Detoxify es el resultado de tres competiciones de Kaggle propuestas para mejorar los clasificadores de toxicidad. Cada una tuvo un propósito diferente en el contexto de detección de toxicidad.
Estos tres modelos pueden ser utilizados con Xatkit. Al igual que con PerspectiveAPI, las puntuaciones de toxicidad están disponibles para el desarrollador del chatbot para detectar a usuarios troll, maleducados o irrespetuosos. Puedes echar un vistazo a nuestro prototipo de REST API que empaqueta y permite hacer consultas desde Xatkit a los modelos de Detoxify.
Hemos construido un bot de ejemplo que detecta la toxicidad de los mensajes, que puedes encontrar en el directorio de LanguageProcessorsBots

Ejemplo de uso del ToxicityPostProcessor en un chatbot
En este extracto de código hay una simple definición de un estado de un bot. En este estado se quiere obtener la estimación de la toxicidad que PerspectiveAPI ha calculado para un mensaje de un usuario, y en base a su valor escoger la respuesta del chatbot. Aquí se asume que todo valor mayor que 0.7 se considera tóxico. Además se comprueba que el valor haya sido correctamente escrito, con la expresión booleana !toxicity.equals(PerspectiveApiScore.DEFAULT_SCORE).
Una puntuación será igual a “default expression” cuando no haya sido correctamente calculada (ya sea por fallos en PerspectiveAPI o por problemas internos del bot), a modo de sistema de seguridad para que el chatbot no se “rompa” a la hora de acceder a un valor no definido.
The post Cómo integrar detección de toxicidad en tus chatbots first appeared on Planeta Chatbot.
]]>