Coursera Learner working on a presentation with Coursera logo and
Coursera Learner working on a presentation with Coursera logo and

fastText como una biblioteca para el aprendizaje efectivo de la representación de palabras y la caracterización de oraciones. Está escrita en C++ y soporta multiprocesamiento durante la preparación. FastText permite preparar representaciones administradas y no administradas de palabras y oraciones. Estas representaciones (incrustaciones) pueden utilizarse para diversas aplicaciones, desde la presión de la información, como resaltadores en modelos adicionales, para la determinación de la competencia, o como inicializadores para el aprendizaje de movimientos.

Retrato

FastText puede lograr una gran ejecución para la representación de palabras y la agrupación de oraciones, de manera única debido a las palabras poco comunes mediante la utilización de datos a nivel de los caracteres.

Cada palabra se dice que es un saco de caracteres n-gramas a pesar de la palabra misma, así que por ejemplo, para la palabra matter, con n = 3, las representaciones de texto rápido para el carácter n-gramas es <ma, tangle, att, tte, ter, er>. < y > se añaden como imágenes límite para reconocer el ngrama de una palabra de la palabra misma, así que por ejemplo, si la palabra tangle es un pedazo de la jerga, se dice que es <mat>. Esto ayuda a salvar el significado de las palabras más cortas que pueden aparecer como ngramas de diferentes palabras. Inalienablemente, esto también permite captar la importancia de los postfijos/prefijos.

La longitud de los n-gramas que se utilizan puede estar limitada por los banners – minn y – maxn para el número mínimo y máximo de caracteres a utilizar individualmente. Estos controlan el alcance de las cualidades para obtener n-gramas para. El modelo se ve como un modelo de paquete de palabras ya que, aparte de la ventana corrediza de determinación de n-gramas, no hay ninguna estructura interna de una palabra que se considere para la featurización, es decir, mientras los caracteres caigan bajo la ventana, la petición del carácter n-gramas no hace ninguna diferencia. También puede desactivar totalmente las incrustaciones de n-gramas fijando ambos en 0. Esto puede ser valioso cuando las “palabras” de su modelo no son palabras para un idioma específico, y el nivel de caracteres n-gramas no sería un buen presagio. El caso de uso más conocido es el punto en el que colocas en ids como tus palabras. Durante la actualización del modelo, fastText aprende mucho de cada uno de los n-gramas, así como la palabra completa para entender la información.

Mientras que la preparación para el fastText es de múltiples cuerdas, la lectura de la información se hace a través de una cuerda solitaria. El análisis sintáctico y la verificación se hacen cuando se examina la información. Debemos percibir cómo se hace esto en detalle:

FastText toma un manejo de registro por medio de – contención de entrada para la información de entrada. El análisis de la información de la entrada no se mantiene. FastText instaura unos cuantos vectores para monitorizar los datos de información, dentro llamados word2int_ y words_. word2int_ se lista en el hash de la cadena de palabras, y almacena un archivo int consecutivo al clúster de words_ (std:: vector) como vale. El clúster_de_palabras se introduce de forma constante en la petición de que aparezcan palabras interesantes al examinar la información, y almacena como su valor la sección de estructura que tipifica todos los datos sobre la palabra token. passage contiene los datos que la acompañan:

Un par de cosas a tener en cuenta aquí, la palabra es la representación en cadena de la palabra, el recuento es la inclusión absoluta de la palabra individual en la línea de información, entry_type es uno de {palabra, etiqueta} con una marca sólo se utiliza para el caso administrado. Todas las fichas de información, prestando poca atención a entry_type se guardan en una referencia de palabra similar, lo que hace que estirarse más rápidamente para contener diferentes tipos de sustancias sea mucho más sencillo (hablaré cada vez más de cómo hacerlo en un último post). Por último, las subpalabras son un vector de todas las palabras n-gramas de una palabra específica. Estas también se hacen cuando la información es examinada, y van al paso de preparación.

La palabra2int_ vector es de tamaño MAX_VOCAB_SIZE = 30000000; Este número está codificado. Este tamaño puede ser restrictivo cuando se prepara un enorme corpus, y puede ser ampliado con éxito mientras se cuida la ejecución. La lista para el cluster word2int_ es la estimación de una cadena al hash int y es un número notable entre 0 y MAX_VOCAB_SIZE. En el caso de que haya una caída de hash, y se acaba de añadir un pasaje al hash, el valor se incrementa hasta que localizamos un id único para asignar a una palabra.

En este sentido, la ejecución puede exacerbarse significativamente una vez que el tamaño de la jerga llega a MAX_VOCAB_SIZE. Para evitar esto, FastText poda la jerga cada vez que el tamaño del hachís supera el 75% de MAX_VOCAB_SIZE. Esto se termina primero aumentando el límite de conteo base para una palabra que encaje en la cuenta por ser una pieza de la jerga, y podando el léxico para todas las palabras que tienen un conteo no tanto como este. La comprobación del 75% del límite ocurre cuando se incluye cada nueva palabra, por lo que esta poda programada puede ocurrir en cualquier fase del procedimiento de comprensión del documento.

Además de la poda programada, la base significa que las palabras que son un pedazo de la jerga se limitan mediante la utilización de los banners – minCount y – minCountLabel para palabras y marcas (utilizados para la preparación regulada) de forma individual. La poda que depende de estas pancartas se produce después de que se haya manipulado todo el documento de preparación. Su léxico podría estar limitado a un recuento mínimo más alto que el indicado físicamente si el número total de palabras notables en su léxico desencadena la poda programada determinada anteriormente. El umbral del recuento de minúsculas predefinido se producirá de todos modos de forma consistente, garantizando con éxito que las palabras con un recuento inferior no se conviertan en un aspecto importante de su información.

Para la desgracia de la inspección negativa, se construye una tabla de palabras negativas de tamaño NEGATIVE_TABLE_SIZE = 10000000. Observe que esto es ⅓ del tamaño de MAX_VOCAB_SIZE. La tabla se construye a partir de una circulación unigrama de la base cuadrada de la recurrencia de cada palabra, es decir, ken.

Esto garantiza que las ocasiones en que cada palabra aparece en la tabla de negativos es directamente la base cuadrada relativa de su recurrencia. Esta tabla se reorganiza para garantizar la aleatoriedad.

A continuación, se desarrolla una tabla de prueba para disponer de palabras sucesivas como trama en el segmento 2.3 del primer papel de expansión de word2vec. El pensamiento detrás de esto es que las palabras que se repiten mucho dan menos datos que las palabras que no son comunes, y que su representación no cambiará mucho después de haber observado previamente numerosas ocasiones de una palabra similar.

El papel traza la técnica que acompaña a la eliminación: la palabra preparación se elimina con una probabilidad de

El borde por defecto puede ser alterado físicamente por medio del – t arg. El borde estima, no tiene la misma importancia en fastText que en el primer papel de word2vec, y debería ser ajustado para su aplicación.

Una palabra se deshace sólo si, durante la etapa de preparación, una extracción arbitraria de una apropiación uniforme en algún lugar del rango de 0 y 1 es más prominente que la probabilidad de deshacerse de ella. A continuación se muestra una gráfica de la circulación para valores que van desde 0-1 para el borde por defecto. Como aparece en el gráfico, la probabilidad de que un sorteo sea más notable que los incrementos de P como los incrementos de la recurrencia, y a lo largo de estas líneas, es la probabilidad de disponer de los incrementos como la recurrencia también lo hace. Esto sólo se aplica a los modelos sin ayuda. Las palabras no se eliminan para un modelo controlado.

En la remota posibilidad de que insistamos en la preparación con – vectores pre-entrenados bandera, las cualidades del registro de información se utilizan para introducir los vectores de la capa de información. En el caso de que sea vago, se hace una red de medición MxN donde M = MAX_VOCAB_SIZE + tamaño_de_cubo, N = disminuir. tamaño_de_cubo se compara con el tamaño absoluto de la exposición asignado para todas las fichas ngram.se establece a través de la bandera -de_cubo y se establece en 2000000 por defecto. Los ngramas se introducen mediante un hash numérico (la capacidad de hash equivalente) del contenido de ngrama y ajustando el módulo de este número de hash en la cuadrícula instaurada en una posición que se compara con MAX_VOCAB_SIZE + hash. Nótese que podría haber choques en el espacio de ngrams, mientras que los impactos son poco realistas para las palabras únicas. Esto también podría influir en la ejecución del modelo.

Diminuir habla al elemento de la capa oculta en la preparación, y de esta manera el elemento de las incrustaciones, y se establece por medio de la – disminuir la bandera. Esto se establece en 100 como una cuestión de rutina. La red se instaura con una apropiación genuina uniforme en algún lugar en el rango de 0 y 1/disminuir y es uniforme en el cuadrado de la unidad 3D.