# Model de llenguatge

En processament de llenguatge natural (PLN), anomenem model de llenguatge al model probabilístic P(e) que assigna a cada possible frase "e" la probabilitat que pertanyi a una determinada llengua. Per exemple, si tenim un model de llenguatge del català, ens donaria la probabilitat que la frase "Són les dues de la matinada" sigui una frase en català.
Aquests models poden ser útils en diverses tasques del PLN, com el reconeixement de la parla, la desambiguació lèxica, traducció automàtica, etc.

## Com fer un model de llenguatge
### Una primera aproximació

Una forma senzilla, intuïtiva, que ens permetria generar un model del llenguatge seria utilitzar un gran corpus de frases de la llengua que volem modelar.
Suposem que tenim una base de dades de mil milions de frases que s'han dit, i que la frase "Com va?" hi apareix 76.413 vegades. Llavors podríem dir que P("Com va?") = 76.412 / 1.000.000.000 = 0,000076413. Això ens permetria, en una primera aproximació, distingir si una frase pertany o no a una llengua. Ara bé, aquesta aproximació presenta un problema evident; moltes frases que serien totalment vàlides en una llengua tindrien una probabilitat P(e) de zero, perquè no s'han vist mai, és a dir perquè no es troben al corpus de manera exacta.
Agafem com a exemple la frase "M'agrada cuinar com a dinar serps blaves que no siguin verinoses.". És molt probable que la base de dades no contingui aquesta frase. Segons el model que hem definit prèviament, en obtenir una probabilitat de 0 no la consideraríem com una frase correcta en català, tot i ser-ho. Cal per tant dividir la frase en diversos components i comprovar-ne la coherència d'aquests per poder dir si la frase pertany a aquesta llengua.

### Models basats en n-grames

    Article principal: «N-grama».
La forma més fàcil de dividir cadenes de paraules és considerar subcadenes. Una subcadena de n paraules s'anomena n-grama. Concretament, utilitzem unigrama per a n=1, bigrama per a n=2, trigrama en el cas de n=3, etc.
Si una cadena té molts n-grames raonables, possiblement és una cadena vàlida.
Si definim xy com la cadena formada per x seguida de y, podem dir
    $P(y\mid x)={\frac {ocurrencies(xy)}{ocurrencies(x)}}$,
és a dir, que la probabilitat que y vingui darrere de x depèn de la quantitat de vegades que hem vist la cadena xy i de la quantitat de vegades que hem vist la subcadena x. Igual que passava amb l'aproximació intuïtiva, aquest model també pot proporcionar probabilitats zero, però aquestes es resolen amb tècniques de suavitzat.
Aquest mètode també s'anomena Model de Markov.

### Models basats en Models ocults de Markov

    Article principal: «Model ocult de Markov».
En aquest cas, el mètode probabilístic que ens proporciona el model de llenguatge és el Model ocult de Markov. En aquest cas, a diferència del que passava amb els n-grames, no disposem d'informació de en quin estat ens trobem en cada moment. Abans sabíem, donat un estat, quines eren les probabilitats de transició als altres estats, i en tot cas sabíem en quin estat ens trobàvem. Ara, en canvi, només disposem dels valors observables que emet el model per saber les probabilitats.
Aquest model s'utilitza molt en desambiguació lèxica.

## Referències

* 1 2 Craig Trim, What is Language Modeling?, April 26th, 2013.
* ↑ Kuhn, Roland, and Renato De Mori. "A cache-based natural language model for speech recognition." IEEE transactions on pattern analysis and machine intelligence 12.6 (1990): 570-583.
* ↑ Andreas, Jacob, Andreas Vlachos, and Stephen Clark. "Semantic parsing as machine translation." Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers). 2013.

## Vegeu també

* Processament del llenguatge natural
* Model ocult de Markov
* n-grames
* Desambiguació lèxica

## Bibliografia

* Knight, Kevin. «A Statistical MT Tutorial Workbook» (PDF), 30-04-1999. [Consulta: 31 desembre 2020].