Un modelo de lenguaje de n -gramas de palabras es un modelo puramente estadístico del lenguaje. Ha sido reemplazado por modelos basados en redes neuronales recurrentes , que han sido reemplazados por modelos de lenguaje grandes . [1] Se basa en el supuesto de que la probabilidad de la siguiente palabra en una secuencia depende solo de una ventana de tamaño fijo de palabras anteriores. Si solo se consideró una palabra anterior, se llamó modelo de bigrama; si dos palabras, un modelo de trigrama; si n − 1 palabras, un modelo de n -gramas. [2] Se introdujeron tokens especiales para denotar el inicio y el final de una oración y .
Para evitar que se asigne una probabilidad cero a las palabras no vistas, la probabilidad de cada palabra es ligeramente inferior a su recuento de frecuencia en un corpus. Para calcularla, se utilizaron varios métodos, desde el simple suavizado de "suma de uno" (asignar un recuento de 1 a los n -gramas no vistos, como una prior no informativa ) hasta modelos más sofisticados, como el descuento de Good-Turing o los modelos de retroceso .
Un caso especial, en el que n = 1, se denomina modelo unigrama. La probabilidad de cada palabra de una secuencia es independiente de las probabilidades de las demás palabras de la secuencia. La probabilidad de cada palabra de la secuencia es igual a la probabilidad de la palabra en un documento completo.
El modelo consta de unidades, cada una tratada como autómatas finitos de un estado . [3] Las palabras con sus probabilidades en un documento se pueden ilustrar de la siguiente manera.
La masa total de probabilidades de palabras distribuidas en el vocabulario del documento es 1.
La probabilidad generada para una consulta específica se calcula como
Los modelos unigramas de distintos documentos tienen distintas probabilidades de que aparezcan palabras en ellos. Las distribuciones de probabilidad de distintos documentos se utilizan para generar probabilidades de coincidencia para cada consulta. Los documentos se pueden clasificar para una consulta según las probabilidades. Ejemplo de modelos unigramas de dos documentos:
En un modelo de lenguaje de palabras bigrama ( n = 2), la probabilidad de la oración Vi la casa roja se aproxima como
En un modelo de lenguaje de trigramas ( n = 3), la aproximación es
Tenga en cuenta que el contexto de los primeros n – 1 n -gramas está lleno de marcadores de inicio de oración, normalmente denominados <s>.
Además, sin un marcador de final de oración, la probabilidad de una secuencia agramatical *I saw the siempre sería mayor que la de la oración más larga I saw the red house.
El método de aproximación calcula la probabilidad de observar la oración.
Se supone que la probabilidad de observar la i- ésima palabra w i (en la ventana de contexto que consta de las i − 1 palabras anteriores) se puede aproximar por la probabilidad de observarla en la ventana de contexto acortada que consta de las n − 1 palabras anteriores ( propiedad de Markov de orden n ) . Para aclarar, para n = 3 e i = 2 tenemos .
La probabilidad condicional se puede calcular a partir de los recuentos de frecuencia del modelo n -grama:
Un problema al utilizar modelos de lenguaje de n -gramas son las palabras fuera del vocabulario (OOV). Se encuentran en lingüística computacional y procesamiento de lenguaje natural cuando la entrada incluye palabras que no estaban presentes en el diccionario o base de datos de un sistema durante su preparación. De manera predeterminada, cuando se estima un modelo de lenguaje, se utiliza todo el vocabulario observado. En algunos casos, puede ser necesario estimar el modelo de lenguaje con un vocabulario fijo específico. En tal escenario, los n -gramas en el corpus que contienen una palabra fuera del vocabulario se ignoran. Las probabilidades de n -gramas se suavizan sobre todas las palabras del vocabulario incluso si no se observaron. [4]
Nonetheless, it is essential in some cases to explicitly model the probability of out-of-vocabulary words by introducing a special token (eg <unk> ) into the vocabulary. Out-of-vocabulary words in the corpus are effectively replaced with this special <unk> token before n -grams counts are cumulated. With this option, it is possible to estimate the transition probabilities of n -grams involving out-of-vocabulary words. [5]
Los n -gramas también se utilizaron para la correspondencia aproximada. Si convertimos cadenas (con solo letras del alfabeto inglés) en 3-gramas de caracteres, obtenemos un espacio dimensional (la primera dimensión mide el número de ocurrencias de "aaa", la segunda "aab", y así sucesivamente para todas las combinaciones posibles de tres letras). Al usar esta representación, perdemos información sobre la cadena. Sin embargo, sabemos empíricamente que si dos cadenas de texto real tienen una representación vectorial similar (medida por la distancia del coseno ), es probable que sean similares. También se han aplicado otras métricas a vectores de n -gramas con resultados variables, a veces mejores. Por ejemplo, se han utilizado puntuaciones z para comparar documentos examinando cuántas desviaciones estándar difiere cada n -grama de su ocurrencia media en una gran colección, o corpus de texto , de documentos (que forman el vector "de fondo"). En el caso de recuentos pequeños, la puntuación g (también conocida como prueba g ) dio mejores resultados.
También es posible adoptar un enfoque más basado en principios para las estadísticas de n -gramas, modelando la similitud como la probabilidad de que dos cadenas provengan de la misma fuente directamente en términos de un problema de inferencia bayesiana .
También se utilizó la búsqueda basada en n -gramas para la detección de plagio .
Para elegir un valor para n en un modelo de n -gramas, es necesario encontrar el equilibrio adecuado entre la estabilidad de la estimación y su idoneidad. Esto significa que el trigrama (es decir, los tripletes de palabras) es una opción común con corpus de entrenamiento grandes (millones de palabras), mientras que el bigrama se suele utilizar con corpus más pequeños.
Existen problemas de equilibrio entre los gramos poco frecuentes (por ejemplo, si un nombre propio apareció en los datos de entrenamiento) y los gramos frecuentes . Además, a los elementos que no se ven en los datos de entrenamiento se les dará una probabilidad de 0,0 sin suavizado . Para los datos no vistos pero plausibles de una muestra, se pueden introducir pseudoconteos . Los pseudoconteos generalmente están motivados por razones bayesianas.
En la práctica, fue necesario suavizar las distribuciones de probabilidad asignando también probabilidades distintas de cero a las palabras o n -gramas no vistos. La razón es que los modelos derivados directamente de los recuentos de frecuencia de n -gramas tienen graves problemas cuando se enfrentan a n -gramas que no se han visto explícitamente antes: el problema de la frecuencia cero . Se utilizaron varios métodos de suavizado, desde el simple suavizado de "suma uno" (Laplace) (asignar un recuento de 1 a n -gramas no vistos; consulte Regla de sucesión ) hasta modelos más sofisticados, como el descuento de Good-Turing o los modelos de retroceso . Algunos de estos métodos son equivalentes a asignar una distribución previa a las probabilidades de los n -gramas y usar la inferencia bayesiana para calcular las probabilidades posteriores de n -gramas resultantes. Sin embargo, los modelos de suavizado más sofisticados normalmente no se derivaron de esta manera, sino a través de consideraciones independientes.
El modelo de lenguaje de n-gramas es un intento de superar el problema de escasez de datos que enfrentaba el modelo anterior (es decir, el modelo de lenguaje de n -gramas de palabras). Las palabras representadas en un vector de incrustación ya no eran necesariamente consecutivas, sino que podían dejar espacios que se saltaban . [6]
Formalmente, un k -skip- n -grama es una subsecuencia de longitud n donde los componentes ocurren a una distancia como máximo k entre sí.
Por ejemplo, en el texto de entrada:
El conjunto de 1-salto-2-gramos incluye todos los bigramas (2-gramos) y, además, las subsecuencias
En el modelo de skip-gram, las relaciones semánticas entre palabras se representan mediante combinaciones lineales , lo que captura una forma de composicionalidad . Por ejemplo, en algunos de estos modelos, si v es la función que asigna una palabra w a su representación vectorial n -d, entonces
donde ≈ se hace preciso al estipular que su lado derecho debe ser el vecino más cercano del valor del lado izquierdo. [7] [8]
Los n -gramas sintácticos son n -gramas definidos por caminos en árboles de dependencia sintáctica o constituyentes en lugar de la estructura lineal del texto. [9] [10] [11] Por ejemplo, la oración "las noticias económicas tienen poco efecto en los mercados financieros" se puede transformar en n -gramas sintácticos siguiendo la estructura de árbol de sus relaciones de dependencia : noticias-económicas, efecto-poco, efecto-en-los-mercados-financieros. [9]
Los n -gramas sintácticos tienen como objetivo reflejar la estructura sintáctica de manera más fiel que los n -gramas lineales, y tienen muchas de las mismas aplicaciones, especialmente como características en un modelo de espacio vectorial . Los n -gramas sintácticos para ciertas tareas dan mejores resultados que el uso de n -gramas estándar, por ejemplo, para la atribución de autoría. [12]
Otro tipo de n -gramas sintácticos son los n- gramas de categorías gramaticales , definidos como subsecuencias superpuestas contiguas de longitud fija que se extraen de secuencias de categorías gramaticales de texto. Los n- gramas de categorías gramaticales tienen varias aplicaciones, la más común en la recuperación de información. [13]
Los n -gramas se utilizan en varias áreas de la informática, la lingüística computacional y las matemáticas aplicadas.
Se han utilizado para:
{{cite conference}}
: CS1 maint: nombres numéricos: lista de autores ( enlace )