À quel n les n-grammes deviennent-ils contre-productifs?

13

Lors du traitement du langage naturel, on peut prendre un corpus et évaluer la probabilité que le mot suivant apparaisse dans une séquence de n. n est généralement choisi comme 2 ou 3 (bigrammes et trigrammes).

Existe-t-il un point connu où le suivi des données pour la nième chaîne devient contre-productif, étant donné le temps qu'il faut pour classer un corpus particulier une fois à ce niveau? Ou étant donné le temps qu'il faudrait pour rechercher les probabilités à partir d'un dictionnaire (structure de données)?

jonsca
la source
en lien avec cet autre fil de discussion sur la malédiction de la dimensionnalité
Antoine

Réponses:

2

Existe-t-il un point connu où le suivi des données pour la nième chaîne devient contre-productif, étant donné le temps qu'il faut pour classer un corpus particulier une fois à ce niveau?

Vous devriez rechercher la perplexité par rapport aux tableaux ou graphiques de taille n-gramme .

Exemples:

http://www.itl.nist.gov/iad/mig/publications/proceedings/darpa97/html/seymore1/image2.gif :

entrez la description de l'image ici

http://images.myshared.ru/17/1041315/slide_16.jpg :

entrez la description de l'image ici

http://images.slideplayer.com/13/4173894/slides/slide_45.jpg :

entrez la description de l'image ici

La perplexité dépend de votre modèle de langue, de la taille en n-grammes et de l'ensemble de données. Comme d'habitude, il y a un compromis entre la qualité du modèle de langage et le temps qu'il faut pour fonctionner. De nos jours, les meilleurs modèles de langage sont basés sur des réseaux de neurones, donc le choix de la taille en n-grammes est moins problématique (mais vous devez alors choisir la ou les tailles de filtre si vous utilisez CNN, entre autres hyperparamètres ...).

Franck Dernoncourt
la source
12

Votre mesure de «contre-productif» pourrait être arbitraire - par exemple. avec beaucoup de mémoire rapide, il pourrait être traité plus rapidement (plus raisonnablement).

Après avoir dit cela, la croissance exponentielle entre en jeu et d'après mes propres observations, elle semble se situer autour de 3-4. (Je n'ai vu aucune étude spécifique).

Les trigrammes ont un avantage sur les bigrammes mais ils sont petits. Je n'ai jamais implémenté un 4 grammes mais l'amélioration va être bien moindre. Probablement un ordre de grandeur similaire diminue. Par exemple. si les trigrammes améliorent les choses de 10% par rapport aux bigrammes, alors une estimation raisonnable pour 4 grammes pourrait être une amélioration de 1% par rapport aux trigrammes.

dix,000100002100003100004

Vous allez avoir besoin d'un énorme corpus pour compenser l'effet de dilution, mais la loi de Zipf dit qu'un énorme corpus aura également des mots encore plus uniques ...

Je suppose que c'est pourquoi nous voyons beaucoup de modèles, d'implémentations et de démos bigram et trigram; mais pas d'exemples de 4 grammes pleinement fonctionnels.

winwaed
la source
2
Un bon résumé. Les pages 48-53 ("diatribe cynique longue randonnée") du document suivant fournissent plus de détails à ce sujet (le document inclut également des résultats pour des n-grammes d'ordre supérieur) research.microsoft.com/~joshuago/longcombine.pdf
Yevgeny
2
Le lien est mort. Voici la référence complète et le lien vers la version arXiv: Joshua T. Goodman (2001). Un peu de progrès dans la modélisation du langage: version étendue. Microsoft Research: Redmond, WA (États-Unis). Rapport technique MSR-TR-2001-72.
scozy