Publicado el 1 de mayo, 2020 por: David Naranjo
Google dio a conocer la liberación del código fuente de “TAPAS” (TAble PArSing), una red neuronal (inteligencia artificial) desarrollada internamente con la finalidad de responder una pregunta en lenguaje natural y obtener la respuesta de una base de datos relacional o una hoja de cálculo.
Para poder obtener resultados óptimos en TAPAS, los desarrolladores a cargo del proyecto se dedicaron a entrenar la red neuronal con 6.2 millones de pares de tabla a texto tomados de Wikipedia. Para verificar, la red neuronal tuvo que restaurar las palabras que faltaban tanto en las tablas como en los textos en los que no había sido entrenada. La precisión de la recuperación fue del 71,4% ya que una prueba de referencia mostró que la red neuronal proporciona respuestas precisas o comparables que los algoritmos rivales en los tres conjuntos de datos.
Sobre TAPAS
Básicamente el enfoque de este proyecto es poder consultar, procesar y mostrar información relacionada con los términos de la consulta realizada por el usuario en lenguaje natural, facilitando en gran escala la obtención de la información.
Un ejemplo básico del uso de TAPAS es si un usuario quiere evaluar datos de ventas, ingresos, solicitudes, entre otras cosas. Ademas de que hay que tomar en cuenta que TAPAS no solo está limitado a obtener información de una base de datos, sino que también es capas de realizar cálculos, el algoritmo busca la respuesta en las celdas de las tablas, tanto directamente como mediante suma, promediación y otros operadores, ademas de que también puede buscar la respuesta entre varias tablas a la vez.
Google dice que Tapas supera o coincide con los tres principales algoritmos de código abierto para analizar datos relacionales. La capacidad de Tapas para extraer elementos específicos de grandes depósitos de datos también podría prestarse para mejorar las capacidades de respuesta.
Bajo el capó, Tapas emplea una variación de la técnica de procesamiento de lenguaje natural BERT utilizada en las búsquedas que realiza el motor de Google.
BERT proporciona una mayor precisión que los enfoques tradicionales porque permite que una IA evalúe una secuencia de texto no solo de izquierda a derecha o de derecha a izquierda como es la práctica habitual, sino que hace ambas cosas al mismo tiempo.
La versión que Google implementó para TAPAS permite a la IA considerar no solo la pregunta planteada por los usuarios y los datos que desean consultar, sino también la estructura de las tablas relacionales en las que se almacenan los datos.
¿Cómo instalar TAPAS en Linux?
Dado que TAPAS es esencialmente un modelo BERT y por lo tanto, tiene los mismos requisitos. Esto significa que se puede entrenar un modelo grande con una longitud de secuencia de 512 que requerirá un TPU.
Para poder instalar TAPAS en Linux requerimos del compilador protoc, el cual se puede encontrar en la mayoría de las distribuciones de Linux.
En Debian, Ubuntu y derivados de estos, podemos instalar el compilador con el siguiente comando:
sudo apt-get install protobuf-compiler
En el caso de Arch Linux, Manjaro, Arco Linux o cualquier otro derivado de Arch Linux, instalamos con:
sudo pacman -S protobuf
Ahora para poder instalar TAPAS, solo debemos de obtener el código fuente y realizar la compilación con los siguientes comandos:
git clone https://github.com/google-research/tapas
cd tapas
pip install -e
Y para ejecutar el conjunto de pruebas, utilizamos la biblioteca tox que se puede ejecutar llamando a:
pip install tox
tox
A partir de aquí se tendrá que entrenar a la AI en el área de interés. Aun que en el repositorio de GitHub se ofrecen algunos modelos ya entrenados.
- base
- large
- sqa base
- sqa large
Ademas, se puede usar diferentes opciones de configuración, como por ejemplo la opción max_seq_length para crear secuencias más cortas. Esto reducirá la precisión pero también hará que el modelo sea entrenable en GPU. Otra opción es reducir el tamaño del lote (train_batch_size), pero esto probablemente también afectará la precisión.
Finalmente si quieres conocer más al respecto sobre esta AI, puedes consultar los detalles de uso, ejecución y demás información en el siguiente enlace.
No hay comentarios:
Publicar un comentario
Agradecemos sus comentarios...