Un modelo de lenguaje estadístico es una distribución de probabilidad sobre secuencias de palabras. Dada tal secuencia, digamos de longitud m , asigna una probabilidad a toda la secuencia.
El modelo de lenguaje proporciona contexto para distinguir entre palabras y frases que suenan similares. Por ejemplo, en inglés americano , las frases "reconocer el habla" y "arruinar una bonita playa" suenan similares, pero significan cosas diferentes.
La escasez de datos es un problema importante en la construcción de modelos de lenguaje. La mayoría de las secuencias de palabras posibles no se observan en el entrenamiento. Una solución es suponer que la probabilidad de una palabra solo depende de las n palabras anteriores . Esto se conoce como modelo de n -gramas o modelo de unigramo cuando n = 1. El modelo de unigramo también se conoce como modelo de bolsa de palabras .
Estimar la probabilidad relativa de diferentes frases es útil en muchas aplicaciones de procesamiento del lenguaje natural , especialmente aquellas que generan texto como salida. El modelado de lenguaje se utiliza en reconocimiento de voz , [1] traducción automática , [2] etiquetado de parte de voz , análisis sintáctico , [2] reconocimiento óptico de caracteres , reconocimiento de escritura a mano , [3] recuperación de información y otras aplicaciones.
En el reconocimiento de voz, los sonidos se combinan con secuencias de palabras. Las ambigüedades son más fáciles de resolver cuando la evidencia del modelo de lenguaje se integra con un modelo de pronunciación y un modelo acústico .
Los modelos de lenguaje se utilizan en la recuperación de información en el modelo de verosimilitud de consultas . Allí, un modelo de lenguaje separado se asocia con cada documento de una colección. Los documentos se clasifican según la probabilidad de la consulta Q en el modelo de idioma del documento: . Comúnmente, el modelo de lenguaje unigrama se utiliza para este propósito.
Tipos de modelos
Unigrama
Un modelo de unigrama puede tratarse como la combinación de varios autómatas finitos de un estado . [4] Divide las probabilidades de diferentes términos en un contexto, por ejemplo, de
a
En este modelo, la probabilidad de cada palabra solo depende de la probabilidad propia de esa palabra en el documento, por lo que solo tenemos autómatas finitos de un estado como unidades. El autómata en sí tiene una distribución de probabilidad sobre todo el vocabulario del modelo, sumando 1. La siguiente es una ilustración de un modelo unigrama de un documento.
Condiciones | Probabilidad en doc |
---|---|
a | 0,1 |
mundo | 0,2 |
gustos | 0,05 |
nosotros | 0,05 |
Cuota | 0,3 |
... | ... |
La probabilidad generada para una consulta específica se calcula como
Los diferentes documentos tienen modelos de unigrama, con diferentes probabilidades de acierto de palabras. Las distribuciones de probabilidad de diferentes documentos se utilizan para generar probabilidades de aciertos para cada consulta. Los documentos se pueden clasificar para una consulta de acuerdo con las probabilidades. Ejemplo de modelos unigrama de dos documentos:
Condiciones | Probabilidad en Doc1 | Probabilidad en Doc2 |
---|---|---|
a | 0,1 | 0,3 |
mundo | 0,2 | 0,1 |
gustos | 0,05 | 0,03 |
nosotros | 0,05 | 0,02 |
Cuota | 0,3 | 0,2 |
... | ... | ... |
En contextos de recuperación de información, los modelos de lenguaje unigrama a menudo se suavizan para evitar instancias donde P (término) = 0. Un enfoque común es generar un modelo de máxima verosimilitud para toda la colección e interpolar linealmente el modelo de colección con un modelo de máxima verosimilitud para cada documento para suavizar el modelo. [5]
n -grama
En un modelo de n -gramas, la probabilidad de observar la oración se aproxima como
Se asume que la probabilidad de observar la i- ésima palabra w i en el historial de contexto de las i - 1 palabras precedentes puede ser aproximada por la probabilidad de observarla en el historial de contexto abreviado de las n - 1 palabras precedentes ( n- ésimo orden Propiedad de Markov ).
La probabilidad condicional se puede calcular a partir de recuentos de frecuencias del modelo de n -gramas:
Los términos modelos de lenguaje bigrama y trigrama denotan modelos de n -gramas con n = 2 yn = 3, respectivamente. [6]
Por lo general, las probabilidades del modelo de n -gramas no se derivan directamente de los recuentos de frecuencias, porque los modelos derivados de esta manera tienen graves problemas cuando se enfrentan con n -gramas que no se han visto explícitamente antes. En cambio, es necesaria alguna forma de suavizado, asignando parte de la masa de probabilidad total a palabras o n -gramas que no se ven. Se utilizan varios métodos, desde el simple suavizado "add-one" (asigne un recuento de 1 a n -gramas no vistos, como un previo no informativo ) hasta modelos más sofisticados, como los modelos de descuento o retroceso de Good-Turing .
Bidireccional
Las representaciones bidireccionales condicionan tanto el contexto previo como el posterior (por ejemplo, palabras) en todas las capas. [7]
Ejemplo
En un modelo de lenguaje de bigrama ( n = 2), la probabilidad de la oración que vi la casa roja se aproxima como
mientras que en un modelo de lenguaje trigrama ( n = 3), la aproximación es
Tenga en cuenta que el contexto de los primeros n - 1 n -gramas se rellena con marcadores de inicio de oración, normalmente denominados .
Además, sin un marcador de fin de oración, la probabilidad de una secuencia gramatical * que vi siempre sería mayor que la de la oración más larga que vi en la casa roja.
Exponencial
Los modelos de lenguaje de máxima entropía codifican la relación entre una palabra y el historial de n-gramas utilizando funciones de características. La ecuación es
dónde es la función de partición , es el vector de parámetros, y es la función característica. En el caso más simple, la función característica es solo un indicador de la presencia de un determinado n-grama. Es útil utilizar un anterior en o alguna forma de regularización.
El modelo log-bilineal es otro ejemplo de un modelo de lenguaje exponencial.
Red neuronal
Los modelos de lenguaje neuronal (o modelos de lenguaje espacial continuo ) utilizan representaciones continuas o incrustaciones de palabras para hacer sus predicciones. [8] Estos modelos utilizan redes neuronales .
Las incrustaciones de espacio continuo ayudan a aliviar la maldición de la dimensionalidad en el modelado del lenguaje: a medida que los modelos del lenguaje se entrenan en textos cada vez más grandes, aumenta el número de palabras únicas (el vocabulario). [a] El número de posibles secuencias de palabras aumenta exponencialmente con el tamaño del vocabulario, lo que provoca un problema de escasez de datos debido a la exponencial cantidad de secuencias. Por lo tanto, se necesitan estadísticas para estimar adecuadamente las probabilidades. Las redes neuronales evitan este problema al representar palabras de forma distribuida , como combinaciones no lineales de pesos en una red neuronal. [9] Una descripción alternativa es que una red neuronal se aproxima a la función del lenguaje. La arquitectura de la red neuronal puede ser de retroalimentación o recurrente , y mientras que la primera es más simple, la segunda es más común. [ ejemplo necesario ] [ cita requerida ]
Por lo general, los modelos de lenguaje de red neuronal se construyen y entrenan como clasificadores probabilísticos que aprenden a predecir una distribución de probabilidad.
- .
Es decir, la red está entrenada para predecir una distribución de probabilidad sobre el vocabulario, dado algún contexto lingüístico. Esto se hace utilizando algoritmos estándar de entrenamiento de redes neuronales, como el descenso de gradiente estocástico con retropropagación . [9] El contexto puede ser una ventana de tamaño fijo de palabras anteriores, de modo que la red predice
a partir de un vector de características que representa las k palabras anteriores . [9] Otra opción es utilizar palabras "futuras" así como palabras "pasadas" como características, de modo que la probabilidad estimada sea
- .
A esto se le llama modelo de bolsa de palabras . Cuando los vectores de características de las palabras en el contexto se combinan mediante una operación continua, este modelo se denomina arquitectura de bolsa de palabras continua (CBOW). [10]
Una tercera opción que entrena más lento que el CBOW pero que funciona un poco mejor es invertir el problema anterior y hacer que una red neuronal aprenda el contexto, dada una palabra. [10] Más formalmente, dada una secuencia de palabras de entrenamiento, uno maximiza la probabilidad logarítmica promedio
donde k , el tamaño del contexto de entrenamiento, puede ser una función de la palabra central. Esto se denomina modelo de lenguaje de omisión de gramática . [11] Los modelos de bolsa de palabras y omisión de gramática son la base del programa word2vec . [12]
En lugar de utilizar modelos de lenguaje de redes neuronales para producir probabilidades reales, es común utilizar la representación distribuida codificada en las capas "ocultas" de las redes como representaciones de palabras; Luego, cada palabra se asigna a un vector real n- dimensional llamado incrustación de palabras , donde n es el tamaño de la capa justo antes de la capa de salida. Las representaciones en modelos skip-gram tienen la característica distintiva de que modelan relaciones semánticas entre palabras como combinaciones lineales , capturando 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 precisa al estipular que su lado derecho debe ser el vecino más cercano del valor del lado izquierdo. [10] [11]
Otro
Un modelo de lenguaje posicional [13] evalúa la probabilidad de que determinadas palabras aparezcan cerca unas de otras en un texto, no necesariamente inmediatamente adyacentes. De manera similar, los modelos de bolsa de conceptos [14] aprovechan la semántica asociada con expresiones de varias palabras como buy_christmas_present , incluso cuando se usan en oraciones ricas en información como "hoy compré muchos regalos de Navidad muy bonitos".
A pesar de los éxitos limitados en el uso de redes neuronales, [15] los autores reconocen la necesidad de otras técnicas al modelar lenguajes de signos.
Benchmarks
Se han desarrollado varios conjuntos de datos para evaluar los sistemas de procesamiento del lenguaje. [7] Estos incluyen:
- Corpus de aceptabilidad lingüística [16]
- Referencia de GLUE [17]
- Corpus de paráfrasis de investigación de Microsoft [18]
- Inferencia de lenguaje natural de varios géneros
- Pregunta inferencia del lenguaje natural
- Pares de preguntas de Quora [19]
- Reconociendo la vinculación textual [20]
- Benchmark de similitud textual semántica
- Prueba de respuesta a preguntas de SQuAD [21]
- Stanford Sentiment Treebank [22]
- Winograd NLI
Crítica
Aunque se puede demostrar que los modelos del lenguaje contemporáneo, como el GPT-2, coinciden con el desempeño humano en algunas tareas, no está claro que sean modelos cognitivos plausibles. Por ejemplo, se ha demostrado que las redes neuronales recurrentes aprenden patrones que los humanos no aprenden y no logran aprender patrones que los humanos sí aprenden. [23]
Ver también
- Modelo estadístico
- Modelo de lenguaje factorizado
- Modelo de lenguaje de caché
- Modelo de retroceso de Katz
- Transformador
- BERT
- GPT-2
- GPT-3
Notas
- ^ Ver la ley de Heaps .
Referencias
Citas
- ^ Kuhn, Roland y Renato De Mori. " Un modelo de lenguaje natural basado en caché para el reconocimiento de voz ". Transacciones IEEE sobre análisis de patrones e inteligencia de máquinas 12.6 (1990): 570-583.
- ^ a b Andreas, Jacob, Andreas Vlachos y Stephen Clark. " Análisis semántico como traducción automática ". Actas de la 51ª Reunión Anual de la Asociación de Lingüística Computacional (Volumen 2: Artículos breves). 2013.
- ^ Pham, Vu, et al. "La deserción mejora las redes neuronales recurrentes para el reconocimiento de escritura a mano ". 2014 XIV Congreso Internacional de Fronteras en el Reconocimiento de la Escritura. IEEE, 2014.
- ^ Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: Introducción a la recuperación de información, páginas 237-240. Prensa de la Universidad de Cambridge, 2009
- ^ Buttcher, Clarke y Cormack. Recuperación de información: implementación y evaluación de motores de búsqueda. pág. 289-291. Prensa del MIT.
- ^ Craig Trim, ¿Qué es el modelado de idiomas? , 26 de abril de 2013.
- ^ a b Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (10 de octubre de 2018). "BERT: Pre-formación de transformadores bidireccionales profundos para la comprensión del lenguaje". arXiv : 1810.04805 [ cs.CL ].
- ^ Karpathy, Andrej. "La efectividad irrazonable de las redes neuronales recurrentes" .
- ^ a b c Bengio, Yoshua (2008). "Modelos de lenguaje de redes neuronales" . Scholarpedia . 3 . pag. 3881. Código bibliográfico : 2008SchpJ ... 3.3881B . doi : 10.4249 / scholarpedia.3881 .
- ^ a b c Mikolov, Tomas; Chen, Kai; Corrado, Greg; Dean, Jeffrey (2013). "Estimación eficiente de representaciones de palabras en espacio vectorial". arXiv : 1301.3781 [ cs.CL ].
- ^ a b Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado primero4 = 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.
- ^ Harris, Derrick (16 de agosto de 2013). "Estamos en la cúspide del aprendizaje profundo para las masas. Puedes agradecer a Google más tarde" . Gigaom .
- ^ Lv, Yuanhua; Zhai, ChengXiang (2009). "Modelos de lenguaje posicional para la recuperación de información en" (PDF) . Actas . 32ª conferencia internacional ACM SIGIR sobre investigación y desarrollo en recuperación de información (SIGIR).
- ^ Cambria, Erik; Hussain, Amir (28 de julio de 2012). Computación semántica: técnicas, herramientas y aplicaciones . Springer Holanda. ISBN 978-94-007-5069-2.
- ^ Mocialov, Boris; Hastie, Helen; Turner, Graham (agosto de 2018). "Transferir el aprendizaje para el modelado de lengua de signos británica" . Actas del quinto taller sobre PNL para idiomas, variedades y dialectos similares (VarDial 2018) . Consultado el 14 de marzo de 2020 .
- ^ "El Corpus de Aceptabilidad Lingüística (CoLA)" . nyu-mll.github.io . Consultado el 25 de febrero de 2019 .
- ^ "GLUE Benchmark" . gluebenchmark.com . Consultado el 25 de febrero de 2019 .
- ^ "Corpus de paráfrasis de investigación de Microsoft" . Centro de descarga de Microsoft . Consultado el 25 de febrero de 2019 .
- ^ Aghaebrahimian, Ahmad (2017), "Quora Question Answer Dataset", Text, Speech, and Dialogue , Lecture Notes in Computer Science, 10415 , Springer International Publishing, págs. 66–73, doi : 10.1007 / 978-3-319-64206 -2_8 , ISBN 9783319642055
- ^ Sammons, VGVinod Vydiswaran, Dan Roth, Mark; Vydiswaran, VG; Roth, Dan. "Reconocimiento de la vinculación textual" (PDF) . Consultado el 24 de febrero de 2019 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ "El conjunto de datos de respuesta a preguntas de Stanford" . rajpurkar.github.io . Consultado el 25 de febrero de 2019 .
- ^ "Modelos profundos recursivos de composicionalidad semántica sobre un árbol de sentimiento" . nlp.stanford.edu . Consultado el 25 de febrero de 2019 .
- ^ Hornstein, Norbert; Lasnik, Howard; Patel-Grosz, Pritty; Yang, Charles (9 de enero de 2018). Estructuras sintácticas después de 60 años: el impacto de la revolución de Chomskyan en la lingüística . Walter de Gruyter GmbH & Co KG. ISBN 978-1-5015-0692-5.
Fuentes
- JM Ponte y WB Croft (1998). "Un enfoque de modelado del lenguaje para la recuperación de información". Investigación y desarrollo en recuperación de información . págs. 275-281. CiteSeerX 10.1.1.117.4237 .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- F Song y WB Croft (1999). "Un modelo de lenguaje general para la recuperación de información". Investigación y desarrollo en recuperación de información . págs. 279–280. CiteSeerX 10.1.1.21.6467 .Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )
- Chen, Stanley; Joshua Goodman (1998). Un estudio empírico de técnicas de suavizado para modelado de lenguajes (informe técnico). Universidad Harvard. CiteSeerX 10.1.1.131.5458 .
enlaces externos
Software
- BERT - Representaciones de codificador bidireccional de transformadores
- CSLM : kit de herramientas gratuito para modelos de lenguaje neuronal feedforward
- DALM : software rápido y gratuito para consultas de modelos de idiomas
- Transformador generativo pre-entrenado
- IRSTLM en SourceForge.net - Software gratuito para modelado de lenguajes
- Kylm (Kit de herramientas de modelado de lenguaje de Kyoto) - Kit de herramientas de modelado de lenguaje gratuito en Java
- KenLM : software rápido y gratuito para modelado de idiomas
- LMSharp : kit de herramientas de modelo de lenguaje gratuito para modelos de n -gramas suavizados por Kneser-Ney y modelos de redes neuronales recurrentes
- MITLM : kit de herramientas de modelado de lenguajes del MIT. Software libre
- NPLM : kit de herramientas gratuito para modelos de lenguaje neuronal feedforward
- Librería OpenGrm NGram - Software gratuito para modelado de lenguajes. Construido sobre OpenFst.
- OxLM : kit de herramientas gratuito para modelos de lenguaje neuronal feedforward
- Modelo de lenguaje posicional
- RandLM en SourceForge.net : software gratuito para modelado de lenguaje aleatorio
- RNNLM : kit de herramientas gratuito de modelos de lenguaje de redes neuronales recurrentes
- SRILM : software patentado para modelado de lenguajes
- VariKN : software gratuito para crear, cultivar y podar modelos de n -gramas suavizados de Kneser-Ney .
- Modelos de lenguaje entrenados en datos de newswire