Modelación del lenguaje
Modelación del lenguaje hace referencia a la tarea de predecir la siguiente palabra o carácter en un documento. Esta técnica puede ser usada para entrenar modelos de lenguaje con una gran diversidad de aplicaciones, como la generación de texto o la clasificación de textos, entre otras.[1]
Esto se realiza por medio de información estadística asociada con un vocabulario específico, que tiene el objetivo de predecir las palabras con más probabilidades de ser utilizadas.
Contar con una forma de estimar la verosimilitud de diversas frases resulta sumamente útil en una variedad de aplicaciones dentro del procesamiento del lenguaje natural. Los modelos de lenguaje se emplean en el reconocimiento de voz, la traducción automática, el etiquetado de discurso, el análisis de texto, el reconocimiento de escritura, la recuperación de información y otras muchas aplicaciones.
Ejemplos
editarEn el reconocimiento de voz, la computadora se esfuerza por asociar los sonidos con secuencias de palabras. El modelo de lenguaje desempeña un papel fundamental al proporcionar un contexto que permite discernir entre palabras y frases que, a nivel auditivo, pueden parecer similares. Por ejemplo, en inglés americano, las frases "recognize speech" y "wreck a nice beach" se pronuncian de manera parecida, pero tienen significados completamente distintos. Estas ambigüedades se resuelven de manera más efectiva cuando se combina la información del modelo de lenguaje con los modelos de pronunciación y acústicos.[2]
Los modelos del lenguaje se utilizan en la recuperación de información en el modelo de consulta probabilístico. Aquí, un modelo del lenguaje está asociado con cada documento en una colección. Los documentos se clasifican sobre la base de la probabilidad de la consulta en el modelo del lenguaje del documento . Comúnmente, el modelo del lenguaje unigrama (conocido también como el modelo bolsa de palabras) se utiliza para este propósito.
La escasez de datos es un problema importante en la construcción de modelos de lenguaje. La mayoría de las posibles secuencias de palabras no serán observadas en el entrenamiento. Una solución es hacer la hipótesis de que la probabilidad sea posible.
Modelos unigrama
editarUn modelo unigrama es utilizado en la recuperación de información y puede ser visto como la combinación de varios autómatas finitos de un solo estado.[3] Divide las probabilidades de diferentes términos en un contexto, por ejemplo, desde a .
En este modelo, la probabilidad de acertar cada palabra depende por completo de sí, por lo que sólo tenemos autómatas finitos de un estado como unidades. Para cada autómata, solo tenemos una manera de alcanzar su único estado, asignado con una probabilidad. Visualizando todo el modelo, la suma de todas las probabilidades de alcanzar un estado debe ser uno. El siguiente es un modelo unigrama de un documento.
Términos | Probabilidad en el documento |
---|---|
a | 0.1 |
world | 0.2 |
likes | 0.05 |
we | 0.05 |
share | 0.3 |
... | ... |
La probabilidad generada para una consulta específica se calcula como
Se pueden construir distintos modelos unigrama para variados documentos, para generar diferentes probabilidades de acierto en una consulta. Por tanto, podemos clasificar los documentos para una consulta de acuerdo a las probabilidades de generación. El siguiente es un ejemplo de dos modelos unigrama de dos documentos:
Términos | Probabilidad en documento 1 | Probabilidad en documento 2 |
---|---|---|
a | 0.1 | 0.3 |
world | 0.2 | 0.1 |
likes | 0.05 | 0.03 |
we | 0.05 | 0.02 |
share | 0.3 | 0.2 |
... | ... | ... |
En contextos de recuperación de información, los modelos de lenguaje unigramas a menudo se suavizan para evitar casos en los que . Un enfoque común es generar un modelo de máxima verosimilitud para la colección entera, e interpolar linealmente el modelo de colección con un modelo de máxima verosimilitud para cada documento para crear un modelo de documento suavizado.[4]
Modelos N-grama
editarEn un modelo de n-grama, la probabilidad de observar la frase se aproxima como Aquí se asume que la probabilidad de observar la ith palabra wi en la historia contexto de las palabras i-1 anteriores se puede aproximar por la probabilidad de observar que en la historia contexto abreviada de los n-1 anteriores palabras (orden nth Propiedad de Markov). La probabilidad condicional puede calcularse a partir de recuentos de frecuencia n-grama: Las palabras bigrama' y modelo del lenguaje trigrama denotan modelos de lenguaje n-grama con n=2 y n=3, respectivamente.[5] Típicamente, sin embargo, las probabilidades de n-grama no se derivan directamente de los recuentos de frecuencia, porque los modelos derivados de esta manera tienen graves problemas cuando se enfrentan a cualquier n-grama que explícitamente no se ha visto antes. En cambio, alguna forma de suavizado es necesaria, asignando una porción de la probabilidad total a las palabras o n-gramas que no se han visto anteriormente. Se utilizan varios métodos, desde la técnica de suavizado simple "agrega-uno" (añade artificialmente una observación a todos los elementos del vocabulario) a modelos más sofisticados, como El descuento Good-Turing, modelos de back-off o interpolación.
Ejemplo
editarEn un modelo del lenguaje bígama (n = 2), la probabilidad de que la frase I saw the red house se aproxima como mientras que en un modelo del lenguaje trigrama (n = 3), la aproximación es Tenga en cuenta que el contexto de los primeros first n-gramas se llena con los marcadores de inicio de frase, denotado típicamente
<s>. Además, sin un marcador de final de frase, la probabilidad de una secuencia no gramatical I saw the siempre sería superior a la de la sentencia I saw the red house.
Otros modelos
editarUn modelo del lenguaje posicional[6] es el que describe qué probabilidad hay de que ocurran ciertas palabras cerca una de la otra en un texto, sin la necesidad de que sean adyacentes. Del mismo modo, los modelos de bolsa de conceptos[7] de apalancamiento en la semántica es asociada con expresiones de varias palabras como: "buy christmas present", incluso cuando se utilizan en oraciones ricas en información, como "today I bought a lot of very nice Christmas presents".
Véase también
editarReferencias
editar- ↑ https://paperswithcode.com/task/language-modelling#:~:text=Language%20Modeling%20is%20the%20task,text%20classification%2C%20and%20question%20answering.
- ↑ «¿Cómo funciona el reconocimiento automático del habla?». 20 de marzo de 2018. Consultado el 25 de julio de 2023.
- ↑ Christopher D. Manning, Prabhakar Raghavan, Hinrich Schütze: An Introduction to Information Retrieval, pages 237-240. Cambridge University Press, 2009
- ↑ Buttcher, Clarke, and Cormack. Information Retrieval: Implementing and Evaluating Search Engines. pg. 289-291. MIT Press.
- ↑ Craig Trim, What is Language Modeling?, April 26th, 2013.
- ↑ Yuanhua Lv and ChengXiang Zhai, Positional Language Models for Information Retrieval Archivado el 24 de noviembre de 2020 en Wayback Machine., in Proceedings of the 32nd international ACM SIGIR conference on Research and development in information retrieval (SIGIR), 2009.
- ↑ E. Cambria and A. Hussain. Sentic Computing: Techniques, Tools, and Applications. Dordrecht, Netherlands: Springer, ISBN 978-94-007-5069-2(2012)
Bibliografía
editar- J M Ponte and W B Croft (1998). «A Language Modeling Approach to Information Retrieval». Research and Development in Information Retrieval. pp. 275-281.
- F Song and W B Croft (1999). «A General Language Model for Information Retrieval». Research and Development in Information Retrieval. pp. 279-280.
Enlaces externos
editar- DALM - Fast, Free software for language model queries
- IRSTLM - Free software for language modeling
- Kylm (Kyoto Language Modeling Toolkit) - Free language modeling toolkit in Java
- KenLM - Fast, Free software for language modeling
- LMSharp Archivado el 27 de diciembre de 2017 en Wayback Machine. - Free language model toolkit for Kneser-Ney smoothed n-gram models and recurrent neural network models
- MITLM - MIT Language Modeling toolkit. Free software
- OpenGrm NGram library - Free software for language modeling. Built on [OpenFst]].
- NPLM - Free toolkit for feedforward neural language models
- Positional Language Model Archivado el 8 de julio de 2019 en Wayback Machine.
- RandLM - Free software for randomised language modeling
- RNNLM - Free recurrent neural network language model toolkit
- SRILM - Proprietary software for language modeling
- VariKN - Free software for creating, growing and pruning Kneser-Ney smoothed n-gram models.
- Language models trained on newswire data
- Goldberg - Goldber, Y. (2015) A Primer on Neural Netwrok Models for Natural Language Processing.