Implementación de Pytorch de Bert 2018 de Google AI, con anotación simple
BERT 2018 BERT: Presentamiento previo de transformadores bidireccionales profundos para la URL de documento de comprensión del lenguaje: https://arxiv.org/abs/1810.04805
El documento Bert de Google AI muestra el sorprendente resultado en varias tareas de PNL (nuevas tareas de 17 tareas de PNL), incluido el rendimiento superior al puntaje F1 humano en la tarea de QA Squad V1.1. Este documento demostró que el codificador basado en Transformer (autoatensión) se puede usar poderosamente como alternativa del modelo de lenguaje anterior con el método de capacitación de modelo de lenguaje adecuado. Y lo que es más importante, nos mostraron que este modelo de lenguaje previamente capacitado puede transferirse a cualquier tarea de PNL sin hacer una arquitectura de modelo específica de la tarea.
Este sorprendente resultado se registraría en la historia de la PNL, y espero que se publiquen muchos artículos más sobre Bert muy pronto.
Este repositorio es la implementación de Bert. El código es muy simple y fácil de entender rápidamente. Algunos de estos códigos se basan en el transformador anotado
Actualmente este proyecto está trabajando en el progreso. Y el código aún no está verificado.
pip install bert-pytorch
Aviso: su corpus debe estar preparado con dos oraciones en una línea con la pestaña ( t) Separador
Welcome to the t the junglen
I can stay t here all nightn
o corpus tokenizado (la tokenización no está en el paquete)
Wel_ _come _to _the t _the _junglen
_I _can _stay t _here _all _nightn
bert-vocab -c data/corpus.small -o data/vocab.smallbert -c data/corpus.small -v data/vocab.small -o output/bert.modelEn el documento, los autores muestran los nuevos métodos de capacitación en el modelo de idioma, que son "modelo de lenguaje enmascarado" y "predicen la próxima oración".
Documento original: 3.3.1 Tarea #1: LM enmascarado
Input Sequence : The man went to [MASK] store with [MASK] dog
Target Sequence : the his
Ale al azar, el 15% del token de entrada se cambiará a algo, basado en subcrees
[MASK][RANDOM] (otra palabra)Documento original: 3.3.2 Tarea #2: Predicción de la siguiente oración
Input : [CLS] the man went to the store [SEP] he bought a gallon of milk [SEP]
Label : Is Next
Input = [CLS] the man heading to the store [SEP] penguin [MASK] are flight ##less birds [SEP]
Label = NotNext
"¿Esta oración se puede conectar continuamente?"
Comprender la relación, entre dos oraciones de texto, que no se capturan directamente por el modelado de idiomas
Junseong Kim, Scatter Lab ([email protected] / [email protected])
Este proyecto después de la licencia Apache 2.0 como está escrita en el archivo de licencia
Copyright 2018 Junseong Kim, Scatter Lab, respectivos contribuyentes de Bert
Copyright (c) 2018 Alexander Rush: The Annotated Trasnformer