stringtranslate.com

Modelo de lenguaje de n-gramas de palabras

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 .

Modelo Unigram

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:

Modelo de bigrama

En un modelo de lenguaje de palabras bigrama ( n  = 2), la probabilidad de la oración Vi la casa roja se aproxima como

Modelo de trigrama

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.

Método de aproximación

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:

Palabras fuera del vocabulario

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]

norte-gramos para coincidencia aproximada

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 .

Compensación entre sesgo y varianza

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.

Técnicas de alisado

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.

Modelo de lenguaje de salto de gramo

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:

La lluvia en España cae principalmente en la llanura.

El conjunto de 1-salto-2-gramos incluye todos los bigramas (2-gramos) y, además, las subsecuencias

en , lluvia España , en cae , España principalmente , cae en , principalmente en , y en llano .

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]

Sintácticonorte-gramos

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]

Otras aplicaciones

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:

Véase también

Referencias

  1. ^ Bengio, Yoshua; Ducharme, Réjean; Vincent, Pascal; Janvin, Christian (1 de marzo de 2003). "Un modelo de lenguaje probabilístico neuronal". The Journal of Machine Learning Research . 3 : 1137–1155 – vía ACM Digital Library.
  2. ^ Jurafsky, Dan; Martin, James H. (7 de enero de 2023). "N-gram Language Models". Speech and Language Processing (PDF) (3.ª edición, borrador) . Consultado el 24 de mayo de 2022 .
  3. ^ Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze (2009). Introducción a la recuperación de información . págs. 237–240. Prensa de la Universidad de Cambridge.
  4. ^ Wołk, K.; Marasek, K.; Glinkowski, W. (2015). "La telemedicina como un caso especial de traducción automática". Imágenes médicas computarizadas y gráficos . 46 Pt 2: 249–56. arXiv : 1510.04600 . Bibcode :2015arXiv151004600W. doi :10.1016/j.compmedimag.2015.09.005. PMID  26617328. S2CID  12361426.
  5. ^ Wołk K., Marasek K. (2014). Sistemas de traducción automática estadística del habla polaco-inglés para el IWSLT 2014. Actas del 11.º Taller internacional sobre traducción del lenguaje hablado. Tahoe Lake, EE. UU. arXiv : 1509.09097 .
  6. ^ David Guthrie; et al. (2006). "Una mirada más cercana al modelado de saltos de gramo" (PDF) . Archivado desde el original (PDF) el 17 de mayo de 2017. Consultado el 27 de abril de 2014 .
  7. ^ Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013). "Estimación eficiente de representaciones de palabras en el espacio vectorial". arXiv : 1301.3781 [cs.CL].
  8. ^ Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado irst4=Greg S.; Dean, Jeff (2013). Representaciones distribuidas de palabras y frases y su composicionalidad (PDF) . Avances en sistemas de procesamiento de información neuronal . págs. 3111–3119. Archivado (PDF) desde el original el 29 de octubre de 2020 . Consultado el 22 de junio de 2015 .{{cite conference}}: CS1 maint: nombres numéricos: lista de autores ( enlace )
  9. ^ ab Sidorov, Grigori; Velasquez, Francisco; Stamatatos, Efstathios; Gelbukh, Alexander; Chanona-Hernández, Liliana (2013). "N-gramas basados ​​en dependencia sintáctica como características de clasificación" (PDF) . En Batyrshin, I.; Mendoza, MG (eds.). Avances en inteligencia computacional . Apuntes de clase en informática. Vol. 7630. págs. 1–11. doi :10.1007/978-3-642-37798-3_1. ISBN 978-3-642-37797-6. Archivado (PDF) del original el 8 de agosto de 2017 . Consultado el 18 de mayo de 2019 .
  10. ^ Sidorov, Grigori (2013). "N-gramas basados ​​en dependencia sintáctica en la corrección gramatical automática basada en reglas del inglés como segunda lengua". Revista internacional de lingüística computacional y aplicaciones . 4 (2): 169–188. CiteSeerX 10.1.1.644.907 . Archivado desde el original el 7 de octubre de 2021 . Consultado el 7 de octubre de 2021 . 
  11. ^ Figueroa, Alejandro; Atkinson, John (2012). "Modelos contextuales del lenguaje para clasificar respuestas a preguntas de definición del lenguaje natural". Computational Intelligence . 28 (4): 528–548. doi :10.1111/j.1467-8640.2012.00426.x. S2CID  27378409. Archivado desde el original el 27 de octubre de 2021 . Consultado el 27 de mayo de 2015 .
  12. ^ Sidorov, Grigori; Velásquez, Francisco; Stamatatos, Efstathios; Gelbukh, Alejandro; Chanona-Hernández, Liliana (2014). " N -Grams sintácticos como funciones de aprendizaje automático para el procesamiento del lenguaje natural". Sistemas expertos con aplicaciones . 41 (3): 853–860. doi :10.1016/j.eswa.2013.08.015. S2CID  207738654.
  13. ^ Lioma, C.; van Rijsbergen, CJK (2008). «Part of Speech N-Grams and Information Retrieval» (PDF) . Revista francesa de lingüística aplicada . XIII (1): 9–22. Archivado (PDF) desde el original el 13 de marzo de 2018. Consultado el 12 de marzo de 2018 a través de Cairn.
  14. ^ Patente de EE. UU. 6618697, Método para la corrección basada en reglas de errores ortográficos y gramaticales