En los campos de la lingüística computacional y la probabilidad , un n -grama es una secuencia contigua de n elementos de una muestra determinada de texto o habla. Los elementos pueden ser fonemas , sílabas , letras , palabras o pares de bases según la aplicación. Los n -gramas normalmente se recopilan de un texto o corpus de voz . Cuando los elementos son palabras, los n -gramas también se pueden llamar culebrilla . [ aclaración necesaria ][1]
Utilizando prefijos numéricos latinos , un n -grama de tamaño 1 se denomina "unigrama"; el tamaño 2 es un " bigrama " (o, con menos frecuencia, un "digram"); el tamaño 3 es un " trigrama ". A veces se utilizan números cardinales en inglés , por ejemplo, "cuatro gramos", "cinco gramos", etc. En biología computacional, un polímero u oligómero de tamaño conocido se denomina k -mer en lugar de n -gram, con nombres específicos que utilizan prefijos numéricos griegos como "monómero", "dímero", "trímero", "tetrámero", "pentamer", etc., o números cardinales en inglés, "one-mer", "two-mer", "three-mer", etc.
Aplicaciones
Un modelo de n -gramas es un tipo de modelo de lenguaje probabilístico para predecir el siguiente elemento de dicha secuencia en la forma de un modelo de Markov de orden ( n - 1) . [2] Los modelos de n -gramas se utilizan ahora ampliamente en probabilidad , teoría de la comunicación , lingüística computacional (por ejemplo, procesamiento estadístico del lenguaje natural ), biología computacional (por ejemplo, análisis de secuencias biológicas ) y compresión de datos . Dos beneficios de los modelos de n -gramas (y los algoritmos que los usan) son la simplicidad y la escalabilidad; con n más grandes , un modelo puede almacenar más contexto con una compensación espacio-tiempo bien entendida , lo que permite que los pequeños experimentos se escalen de manera eficiente.
Ejemplos de
Campo | Unidad | Secuencia de muestra | Secuencia de 1 gramo | Secuencia de 2 gramos | Secuencia de 3 gramos |
---|---|---|---|---|---|
Nombre vernáculo | unigrama | bigrama | trigrama | ||
Orden del modelo de Markov resultante | 0 | 1 | 2 | ||
Secuenciación de proteínas | aminoácidos | … Cys-Gly-Leu-Ser-Trp… | …, Cys, Gly, Leu, Ser, Trp,… | …, Cys-Gly, Gly-Leu, Leu-Ser, Ser-Trp,… | …, Cys-Gly-Leu, Gly-Leu-Ser, Leu-Ser-Trp,… |
secuencia ADN | Base par | … AGCTTCGA… | …, A, G, C, T, T, C, G, A,… | …, AG, GC, CT, TT, TC, CG, GA,… | …, AGC, GCT, CTT, TTC, TCG, CGA,… |
Ligüística computacional | personaje | …Ser o no ser… | …, Ser o no ser, … | …, To, o_, _b, be, e_, _o, or, r_, _n, no, ot, t_, _t, to, o_, _b, be,… | …, To_, o_b, _be, be_, e_o, _or, or_, r_n, _no, not, ot_, t_t, _to, to_, o_b, _be,… |
Ligüística computacional | palabra | … Ser o no ser … | …, Ser o no ser, … | ... ser, ser o no, no ser, ... | …, Ser o, ser o no, o no ser, no ser,… |
La Figura 1 muestra varias secuencias de ejemplo y las correspondientes secuencias de 1 gramo, 2 gramos y 3 gramos.
Aquí hay más ejemplos; Estos son 3 gramos y 4 gramos a nivel de palabra (y recuentos de la cantidad de veces que aparecieron) del corpus de n -gramas de Google . [3]
3 gramos
- coleccionables de cerámica coleccionables (55)
- coleccionables de cerámica fina (130)
- cerámica recogida por (52)
- cerámica cerámica coleccionable (50)
- coleccionables de cerámica para cocinar (45)
4 gramos
- servir como entrante (92)
- servir como incubadora (99)
- servir como el independiente (794)
- servir como índice (223)
- servir como indicación (72)
- servir como indicador (120)
modelos n -gram
Un modelo de n -gramas modela secuencias, en particular lenguajes naturales, utilizando las propiedades estadísticas de n -gramas.
Esta idea se remonta a un experimento del trabajo de Claude Shannon en teoría de la información . Shannon planteó la pregunta: dada una secuencia de letras (por ejemplo, la secuencia "por ex"), ¿cuál es la probabilidad de la siguiente letra? A partir de los datos de entrenamiento, se puede derivar una distribución de probabilidad para la siguiente letra dado un historial de tamaño.: a = 0,4, b = 0,00001, c = 0, ....; donde las probabilidades de todas las "siguientes letras" posibles suman 1.0.
Más concisamente, un modelo de n -gramas predice Residencia en . En términos de probabilidad, esto es. Cuando se usa para modelar el lenguaje , se asumen suposiciones de independencia de modo que cada palabra dependa solo de las últimas n - 1 palabras. Este modelo de Markov se utiliza como una aproximación del verdadero lenguaje subyacente. Esta suposición es importante porque simplifica enormemente el problema de estimar el modelo de lenguaje a partir de datos. Además, debido a la naturaleza abierta del lenguaje, es común agrupar palabras desconocidas para el modelo de lenguaje.
Tenga en cuenta que en un modelo de lenguaje de n -gramas simple , la probabilidad de una palabra, condicionada a un número de palabras anteriores (una palabra en un modelo de bigrama, dos palabras en un modelo de trigrama, etc.) se puede describir como siguiendo una distribución categórica (a menudo llamado de manera imprecisa una " distribución multinomial ").
En la práctica, las distribuciones de probabilidad se suavizan asignando probabilidades distintas de cero a palabras o n -gramas que no se ven; ver técnicas de suavizado .
Aplicaciones y consideraciones
Los modelos de n -gramas se utilizan ampliamente en el procesamiento estadístico del lenguaje natural . En el reconocimiento de voz , los fonemas y secuencias de fonemas se modelan utilizando una distribución de n -gramas. Para el análisis sintáctico, las palabras se modelan de tal manera que cada n -grama se compone de n palabras. Para la identificación del idioma , se modelan secuencias de caracteres / grafemas ( por ejemplo , letras del alfabeto ) para diferentes idiomas. [4] Para las secuencias de caracteres, los 3 gramos (a veces denominados "trigramas") que se pueden generar a partir de "buenos días" son "goo", "ood", "od", "dm", "mo" , "mor" y así sucesivamente, contando el carácter de espacio como un gramo (a veces, el principio y el final de un texto se modelan explícitamente, agregando "_ _g", "_go", "ng_" y "g_ _") . Para secuencias de palabras, los trigramas (culebrilla) que se pueden generar a partir de "el perro olía a zorrillo" son "# el perro", "el perro olía", "el perro olía a", "olía a", "como una mofeta "y" una mofeta # ".
Practicantes [ ¿quién? ] más interesados en términos de varias palabras podrían preprocesar cadenas para eliminar espacios. [ quien? ] Muchos simplemente reducen los espacios en blanco a un solo espacio mientras preservan las marcas de párrafo, porque el espacio en blanco es frecuentemente un elemento de estilo de escritura o introduce un diseño o presentación que no es requerido por la metodología de predicción y deducción. La puntuación también suele reducirse o eliminarse mediante el preprocesamiento y se utiliza con frecuencia para activar la funcionalidad.
Los n -gramas también se pueden usar para secuencias de palabras o casi cualquier tipo de datos. Por ejemplo, se han utilizado para extraer características para agrupar grandes conjuntos de imágenes terrestres de satélite y para determinar de qué parte de la Tierra proviene una imagen en particular. [5] También han tenido mucho éxito como primer paso en la búsqueda de secuencias genéticas y en la identificación de las especies a partir de las cuales se originaron secuencias cortas de ADN. [6]
Los modelos de n -gramas a menudo son criticados porque carecen de una representación explícita de dependencia de largo alcance. Esto se debe a que el único rango de dependencia explícito es ( n - 1) tokens para un modelo de n -gramas, y dado que los lenguajes naturales incorporan muchos casos de dependencias ilimitadas (como el movimiento wh ), esto significa que un modelo de n -gramas no puede en El principio distingue las dependencias ilimitadas del ruido (ya que las correlaciones de largo alcance caen exponencialmente con la distancia para cualquier modelo de Markov). Por esta razón, los modelos de n -gramas no han tenido mucho impacto en la teoría lingüística, donde parte del objetivo explícito es modelar tales dependencias.
Otra crítica que se ha hecho es que los modelos de lenguaje de Markov, incluidos los modelos de n -gramas, no capturan explícitamente la distinción desempeño / competencia. Esto se debe a que los modelos de n -gramas no están diseñados para modelar el conocimiento lingüístico como tal y no pretenden ser (ni siquiera potencialmente) modelos completos de conocimiento lingüístico; en cambio, se utilizan en aplicaciones prácticas.
En la práctica, se ha demostrado que los modelos de n -gramas son extremadamente efectivos para modelar datos de lenguaje, que es un componente central en las aplicaciones modernas de lenguaje estadístico .
La mayoría de las aplicaciones modernas que se basan en modelos basados en n -gramas, como las aplicaciones de traducción automática , no se basan exclusivamente en dichos modelos; en su lugar, también suelen incorporar la inferencia bayesiana . Los modelos estadísticos modernos se componen típicamente de dos partes, una distribución previa que describe la probabilidad inherente de un resultado posible y una función de probabilidad utilizada para evaluar la compatibilidad de un resultado posible con los datos observados. Cuando se usa un modelo de lenguaje, se usa como parte de la distribución previa (por ejemplo, para medir la "bondad" inherente de una posible traducción), e incluso entonces, a menudo no es el único componente en esta distribución.
También se utilizan características artesanales de varios tipos, por ejemplo, variables que representan la posición de una palabra en una oración o el tema general del discurso. Además, a menudo se utilizan características basadas en la estructura del resultado potencial, como consideraciones sintácticas. Estas características también se utilizan como parte de la función de verosimilitud, que hace uso de los datos observados. La teoría lingüística convencional puede incorporarse en estas características (aunque en la práctica, es raro que se incorporen características específicas de las teorías generativas u otras teorías gramaticales particulares, ya que los lingüistas computacionales tienden a ser "agnósticos" hacia las teorías gramaticales individuales [ cita requerida ] ) .
Palabras sin vocabulario
Un problema cuando se utilizan modelos de lenguaje n-gram son las palabras fuera de vocabulario (OOV). Se encuentran en la lingüística computacional y el procesamiento del lenguaje natural cuando la entrada incluye palabras que no estaban presentes en el diccionario o la base de datos de un sistema durante su preparación. De forma 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 en todas las palabras del vocabulario, incluso si no se observaron. [7]
No obstante, es esencial en algunos casos a explícitamente modelar la probabilidad de palabras fuera de vocabulario mediante la introducción de una ficha especial (por ejemplo,
n -gramas para una coincidencia aproximada
Los n -gramas también se pueden usar para una correspondencia aproximada eficiente. Al convertir una secuencia de elementos en un conjunto de n -gramas, se puede incrustar en un espacio vectorial , lo que permite comparar la secuencia con otras secuencias de manera eficiente. Por ejemplo, si convertimos cadenas con solo letras en el alfabeto inglés en 3 gramos de un solo carácter, obtenemos un-espacio dimensional (la primera dimensión mide el número de apariciones 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. Por ejemplo, las cadenas "abc" y "bca" dan lugar a exactamente el mismo "bc" de 2 gramos (aunque {"ab", "bc"} claramente no es lo mismo que {"bc", "ca" }). 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, las puntuaciones z se han utilizado 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 conteos pequeños, la puntuación g (también conocida como prueba g ) puede dar mejores resultados para comparar modelos alternativos.
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 en la inferencia bayesiana .
La búsqueda basada en n -gramas también se puede utilizar para la detección de plagio .
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:
- diseñar núcleos que permitan que los algoritmos de aprendizaje automático , como las máquinas vectoriales de soporte, aprendan de los datos de cadenas
- encontrar candidatos probables para la ortografía correcta de una palabra mal escrita
- mejorar la compresión en los algoritmos de compresión donde un área pequeña de datos requiere n -gramas de mayor longitud
- evaluar la probabilidad de que una determinada secuencia de palabras aparezca en el texto de un idioma de interés en sistemas de reconocimiento de patrones, reconocimiento de voz , OCR ( reconocimiento óptico de caracteres ), reconocimiento inteligente de caracteres ( ICR ), traducción automática y aplicaciones similares
- mejorar la recuperación en los sistemas de recuperación de información cuando se espera encontrar "documentos" similares (un término para el cual el significado convencional a veces se extiende, dependiendo del conjunto de datos) dado un documento de consulta único y una base de datos de documentos de referencia
- mejorar el rendimiento de recuperación en el análisis de secuencias genéticas como en la familia de programas BLAST
- identificar el idioma en el que se encuentra un texto o la especie de la que se tomó una pequeña secuencia de ADN
- predecir letras o palabras al azar para crear texto, como en el algoritmo de prensa disociada .
- criptoanálisis
Espacio requerido para un n -grama
Considere un n -grama donde las unidades son caracteres y un texto con t caracteres, donde. Existen cadenas totales, donde cada cadena requiere unidades de espacio. Por lo tanto, el espacio total requerido para este n -grama es, que se simplifica a:
Compensación de sesgo versus varianza
Para elegir un valor para n en un modelo de n -gramas, es necesario encontrar el equilibrio correcto entre la estabilidad de la estimación y su idoneidad. Esto significa que el trigrama (es decir, los tríos de palabras) es una opción común con grandes corpus de entrenamiento (millones de palabras), mientras que un bigrama se usa a menudo con los más pequeños.
Técnicas de suavizado
Hay problemas de equilibrio de peso entre gramos poco frecuentes (por ejemplo, si aparece un nombre propio en los datos de entrenamiento) y 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 suavizar . Para datos invisibles pero plausibles de una muestra, se pueden introducir pseudocontentos . Los pseudocuentas generalmente están motivados por motivos bayesianos.
En la práctica, es necesario suavizar las distribuciones de probabilidad asignando también probabilidades distintas de cero a palabras o n -gramas que no se ven. La razón es que los modelos derivados directamente de los recuentos de frecuencias de n -gramas tienen graves problemas cuando se enfrentan con n -gramas que no se hayan visto explícitamente antes: el problema de frecuencia cero . Se utilizan varios métodos de suavizado, desde el simple suavizado "add-one" (Laplace) (asigne un recuento de 1 a n -gramas invisibles ; consulte la Regla de sucesión ) hasta modelos más sofisticados, como los modelos de descuento o retroceso de Good-Turing . 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 resultantes de n -gramas. Sin embargo, los modelos de suavizado más sofisticados generalmente no se derivaron de esta manera, sino a través de consideraciones independientes.
- Interpolación lineal (p. Ej., Tomando la media ponderada del unigrama, bigrama y trigrama)
- Buen descuento de Turing
- Descuento de Witten-Bell
- Alisado de Lidstone
- Modelo de retroceso de Katz (trigrama)
- Suavizado Kneser – Ney
Saltar gramo
En el campo de la lingüística computacional , en particular el modelado del lenguaje , los skip -grams [9] son una generalización de n -gramas en los que los componentes (típicamente palabras) no necesitan ser consecutivos en el texto considerado, pero pueden dejar espacios que se saltan. encima. [10] Proporcionan una forma de superar el problema de la escasez de datos que se encuentra con el análisis convencional de n -gramas. En el área de la seguridad informática, los skip -grams han demostrado ser más resistentes a los ataques que los ngrams. [11]
Formalmente, un n -grama es una subsecuencia consecutiva de longitud n de alguna secuencia de tokens w 1 … w n . Un k -skip- n -gram es una subsecuencia de n de longitud 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
- la in , lluvia España , en caídas , España principalmente , cae sobre , principalmente , y en llanura .
N -gramas sintácticos
Los n -gramas sintácticos son n -gramas definidos por caminos en la dependencia sintáctica o árboles constituyentes en lugar de la estructura lineal del texto. [12] [13] [14] 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-mercados-financieros. [12]
Los n -gramas sintácticos están pensados para reflejar la estructura sintáctica más fielmente 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 determinadas tareas dan mejores resultados que el uso de n -gramas estándar , por ejemplo, para la atribución de autoría. [15]
Otro tipo de sintácticos n -grams son parte de discurso n -grams, definido como de longitud fija subsecuencias solapantes contiguas que se extraen de las secuencias de parte-de-voz de texto. Los n -gramas de parte de la voz tienen varias aplicaciones, más comúnmente en la recuperación de información. [dieciséis]
Ver también
- Colocación
- Modelo de Markov oculto
- n-tupla
- Núcleo de cadena
- MinHash
- Extracción de características
- Problema de subcadena común más largo
Referencias
- ^ Broder, Andrei Z .; Glassman, Steven C .; Manasse, Mark S .; Zweig, Geoffrey (1997). "Agrupación sintáctica de la web". Redes informáticas y sistemas RDSI . 29 (8): 1157-1166. doi : 10.1016 / s0169-7552 (97) 00031-7 .
- ^ https://www.coursera.org/learn/natural-language-processing/lecture/UnEHs/07-01-noisy-channel-model-8-33
- ^ Alex Franz y Thorsten Brants (2006). "Todos nuestros N -gramas te pertenecen" . Blog de investigación de Google . Consultado el 16 de diciembre de 2011 .
- ^ Ted Dunning (1994). "Identificación estadística de la lengua". Informe técnico MCCS . Universidad Estatal de Nuevo México: 94–273. CiteSeerX 10.1.1.48.1958 .
- ^ Soffer, A (1997). "Categorización de imágenes mediante características de textura". Actas de la Cuarta Conferencia Internacional sobre Análisis y Reconocimiento de Documentos . Actas de la Cuarta Conferencia Internacional sobre . 1 . pag. 237. CiteSeerX 10.1.1.31.1649 . doi : 10.1109 / ICDAR.1997.619847 . ISBN 978-0-8186-7898-1. S2CID 16285579 .
- ^ Tomović, Andrija; Janičić, Predrag; Kešelj , Vlado (2006). " Clasificación basada en n -Gram y agrupación jerárquica no supervisada de secuencias del genoma". Métodos y programas informáticos en biomedicina . 81 (2): 137-153. doi : 10.1016 / j.cmpb.2005.11.007 . PMID 16423423 .
- ^ Wołk, K .; Marasek, K .; Glinkowski, W. (2015). "La telemedicina como caso especial de traducción automática". Imágenes y gráficos médicos computarizados . 46 Pt 2: 249–56. arXiv : 1510.04600 . Código Bibliográfico : 2015arXiv151004600W . doi : 10.1016 / j.compmedimag.2015.09.005 . PMID 26617328 . S2CID 12361426 .
- ^ Wołk K., Marasek K. (2014). Sistemas de traducción automática de estadísticas del habla polaco-inglés para el IWSLT 2014 . Actas del XI Taller Internacional de Traducción de Lenguas Habladas. Tahoe Lake, Estados Unidos.
- ^ Huang, Xuedong; Alleva, Fileno; Hon, Hsiao-wuen; Hwang, Mei-yuh; Rosenfeld, Ronald (1 de enero de 1992). "El sistema de reconocimiento de voz SPHINX-II: una descripción general". Habla y lenguaje informático . 7 (2): 137-148. CiteSeerX 10.1.1.45.1629 . doi : 10.1006 / csla.1993.1007 .
- ^ David Guthrie; et al. (2006). "Una mirada más cercana al modelado de saltos de gramática" (PDF) . Archivado desde el original (PDF) el 17 de mayo de 2017 . Consultado el 27 de abril de 2014 .
- ^ Jonathan Oliver; et al. (2021). "Diseño de los elementos de un esquema de hash difuso" (PDF) . Consultado el 14 de abril de 2021 .
- ^ a b Sidorov, Grigori; Velásquez, 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 conferencias en Ciencias de la Computación. 7630 . págs. 1-11. doi : 10.1007 / 978-3-642-37798-3_1 . ISBN 978-3-642-37797-6.
- ^ Sidorov, Grigori (2013). " N -gramas basados en dependencia sintáctica en inglés automático basado en reglas como corrección gramatical de segundo idioma". Revista Internacional de Lingüística y Aplicaciones Computacionales . 4 (2): 169–188.
- ^ Figueroa, Alejandro; Atkinson, John (2012). "Modelos de lenguaje contextual para la clasificación de respuestas a preguntas de definición de lenguaje natural" . Inteligencia computacional . 28 (4): 528–548. doi : 10.1111 / j.1467-8640.2012.00426.x . S2CID 27378409 .
- ^ Sidorov, Grigori; Velásquez, Francisco; Stamatatos, Efstathios; Gelbukh, Alexander; Chanona-Hernández, Liliana (2014). " N -Grams sintácticos como características 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 .
- ^ Lioma, C .; van Rijsbergen, CJK (2008). "Parte de la recuperación de información y n-gramos de voz" (PDF) . Revista francesa de lingüística aplicada . XIII (1): 9-22 - vía Cairn.
Otras lecturas
- Christopher D. Manning, Hinrich Schütze, Fundamentos del procesamiento estadístico del lenguaje natural , MIT Press: 1999. ISBN 0-262-13360-1 .
- White, Owen; Dunning, Ted; Sutton, Granger; Adams, Mark; Venter, J. Craig; Fields, Chris (1993). "Un algoritmo de control de calidad para proyectos de secuenciación de adn" . Investigación de ácidos nucleicos . 21 (16): 3829–3838. doi : 10.1093 / nar / 21.16.3829 . PMC 309901 . PMID 8367301 .
- Frederick J. Damerau, Modelos de Markov y teoría lingüística . Mouton. La Haya, 1971.
- Figueroa, Alejandro; Atkinson, John (2012). "Modelos de lenguaje contextual para la clasificación de respuestas a preguntas de definición de lenguaje natural" . Inteligencia computacional . 28 (4): 528–548. doi : 10.1111 / j.1467-8640.2012.00426.x . S2CID 27378409 .
- Brocardo, Marcelo Luiz; Issa Traore; Sherif Saad; Isaac Woungang (2013). Verificación de autoría para mensajes cortos mediante estilometría (PDF) . IEEE Intl. Conferencia sobre Sistemas de Computación, Información y Telecomunicaciones (CITS).
enlaces externos
- Google Book n -gram viewer y Web n -grams database (septiembre de 2006)
- Servicio web n -grams de Microsoft
- STATOPERATOR N -grams Project Visor de n -gramas ponderado para cada dominio en Alexa Top 1M
- 1,000,000 de 2,3,4,5 gramos más frecuentes del Corpus de 425 millones de palabras del inglés americano contemporáneo
- Visor de ngram de música de Peachnote
- Especificación de modelos de lenguaje estocástico ( n- gramo) (W3C)
- Notas de Michael Collins sobre modelos de lenguaje n -Gram
- OpenRefine: Clustering en profundidad