Вы находитесь на странице: 1из 4

N-grama

N-grama
Un n-grama es una subsecuencia de n elementos de una secuencia dada. El estudio de los n-gramas es interesante en diversas reas del conocimiento. Por ejemplo, es usado en el estudio del lenguaje natural, en el estudio de las secuencias de genes y en el estudio de las secuencias de aminocidos. La forma en la que extraemos los gramas se tiene que adaptar al mbito que estamos estudiando y al objetivo que tenemos en mente. Por ejemplo en el estudio del lenguaje natural podramos construir los n-gramas en base a distintos tipos de elementos como por ejemplo fonemas, slabas, letras, palabras. Algunos sistemas procesan las cadenas de texto eliminando los espacios. Otros no. En casi todos los casos, los signos de puntuacin se eliminan durante el preproceso. Se puede usar gramas para casi todos los mbitos. Por ejemplo, se han usado n-gramas para extraer caractersticas comunes de grandes conjuntos de imgenes de la Tierra tomadas desde satlite, y para determinar a qu parte de la Tierra pertenece una imagen dada. Para ciertos valores de n los n-gramas tienen nombres especiales. Por ejemplo: Los 1-gramas tambin se llaman unigramas. Los 2-gramas tambin se llaman bigramas o digramas. Los 3-gramas tambin se llaman trigramas.

Aplicaciones
Modelo de n-grama
Un modelo de n-grama es un tipo de modelo probabilstico que permite hacer una prediccin estadstica del prximo elemento de cierta secuencia de elementos sucedida hasta el momento. Un modelo de n-grama puede ser definido por una cadena de Mrkov de orden n-1. Por tanto los modelos de n-grama son modelos ocultos de Mrkov. Ms precisamente, un modelo de n-grama predice basndose en . Debido a limitaciones computacionales y a la normalmente naturaleza abierta de los problemas (suele haber infinitos elementos posibles), se suele asumir que cada elemento solo depende de los ltimos n elementos de la secuencia. Las dos ventajas principales de este tipo de modelos son: Relativa simplicidad Es fcil ampliar el contexto de estudio incrementando el tamao de n. El origen de este tipo de modelo se remonta a los experimentos realizados por Claude Shannon en teora de la informacin para la estimacin de la ratio de entropa de los idiomas. Su idea fue que dada una secuencia de letras (por ejemplo, la secuencia "por ej"), cul es la siguiente letra ms probable? A partir de un conjunto de datos de aprendizaje, uno puede deducir una distribucin de probabilidad para la siguiente letra dado un conjunto de datos histricos de tamao : a = 0.4, b = 0.00001, c = 0,....; donde las probabilidades de todas las posibles letras siguientes suman 1.0. Ha habido estudios para analizar los n-gramas ms frecuentes. Por ejemplo Google[1] posee una enorme cantidad de datos con informacin de este tipo. Parte de esa informacin, Google n-gram corpus, est accesible a travs del Google Ngram Viewer que se puede acceder de forma pblica en bruto [2] o a travs de un interfaz web [3]. Esta informacin fue obtenida analizando ms de cinco millones de libros de los ltimos 500 aos. Esta informacin es aprovechada, por ejemplo, para implementar su sistema de recomendacin de consultas. Otra aplicacin tpica de esta informacin es descubrir tendencia analizando la presencia de ciertos sustantivos y viendo como se les va prestando ms o menos atencin (ms o menos presencias) segn la fecha de publicacin y idioma del libro.[4]

N-grama Ejemplos tpicos de aplicacin de modelos de ngrama en el lenguaje natural: En el reconocimiento de voz, los fonemas se modelan empleando una distribucin de n-gramas. De esta forma los sistemas de reconocimiento de voz pueden decidir sobre cierta base entre varias interpretaciones posibles de lo que ha dicho el interlocutor. El reconocimiento de voz es un campo muy importante para los sistemas de espionaje que interceptan mensajes de voz (Ej. Echelon).[5] En los editores de textos para recomendar cual va a ser la palabra siguiente o para detectar posibles errores. Este tipo de modelos tambin son muy usados en otros mbitos aparte de la lingstica como la teora de la comunicacin, estudios biolgicos y compresin de datos. Tcnicas de suavizado
[6]

Para establecer un modelo de n-grama algunos sistemas se basan en el estudio de una serie de datos de entrenamiento tambin llamados de aprendizaje (en ingls training corpus) y a partir de ah directamente se estiman las probabilidades. Un problema obvio de este tipo de mtodos es que asigna probabilidad 0 a todos aquellos n-gramas que no aparecen en los datos de entrenamiento. Para tratar con este tipo de problemas se han desarrollado una serie de tcnicas a las que llamamos tcnicas de suavizado y que reducen la probabilidad asignada a algunas de los n-gramas observados y que por otra parte proveen una probabilidad distinta de cero para aquellos n-gramas no observados en los datos de entrenamiento. Lo que se persigue en que todos los n-gramas razonable tengan una probabilidad distintas de cero.

Encajes por aproximacin


Los n-gramas tambin pueden emplearse para realizar eficientemente encajes por aproximacin. Convirtiendo una secuencia de elementos en un conjunto de n-gramas, ste puede introducirse en un espacio vectorial (en otras palabras, representarse como un histograma), permitiendo as a la secuencia compararse con otras secuencias de una manera eficiente. Por ejemplo, si convertimos cadenas de texto con slo letras del alfabeto espaol en 3-gramas, conseguiremos un espacio vectorial de dimensiones (la primera dimensin mide el nmero de ocurrencias de "aaa", la segunda de "aab", y as para todas las posibles combinaciones de 3 letras). Empleando esta representacin, perdemos informacin sobre la cadena de texto. Por ejemplo, las cadenas "abcba" y "bcbab" llevarn exactamente a los mismos digramas. Sin embargo, se conoce empricamente que si dos cadenas de texto real tienen una representacin vectorial similar (medida a travs del producto escalar) es muy probable que sean similares. Tambin pueden aplicarse otras mtricas a los vectores de n-gramas con resultados variados (a veces, mejores). Por ejemplo la distribucin normal puede emplearse para comparar documentos, examinando cantas desviaciones tpicas de cada n-grama difieren de la media en un conjunto grande de documentos (que forma el vector de fondo). Aplicaciones prcticas de esta tcnica son: La deteccin de plagios de documentos.[7][8][9] Clasificacin de textos para mejorar la bsqueda de documentos y clasificacin.- Ha habido trabajos[10] que utilizan anlisis de n-gramas para clasificar la informacin. La propia NSA ha investigado sobre este tema. La patente 5.418.951 de Estados Unidos, otorgada a la NSA en 1995, patenta el uso de anlisis de N-gramas para poder clasificar documentos segn el tema que tratan. Se especula que la red Echelon hace uso de este tipo de tecnologas para clasificar la informacin que recoge.[11]

Otras aplicaciones
Los n-gramas se emplean en diversas reas de la informtica, lingstica computacional, y matemtica aplicada. Son una tcnica comnmente empleada para disear ncleos que permiten a algoritmos automticos de aprendizaje extraer datos a partir de cadenas de texto. Los n-gramas tambin pueden emplearse para encontrar candidatos probables para la correcta ortografa de una palabra mal escrita. Tambin en algoritmos de compresin, donde una pequea zona de datos necesita n-gramas de longitud mayor para mejorar la compresin. Los n-gramas se emplean a

N-grama menudo en sistemas de reconocimiento de patrones para determinar la probabilidad de que una palabra dada aparezca en un texto. Esta capacidad puede ser til en reconocimiento de voz, OCR (reconocimiento ptico de caracteres), reconocimiento inteligente de caracteres, traducciones automticas, y aplicaciones similares en las que un sistema debe elegir el siguiente elemento (letra, palabra, fonema, etc.) de entre una lista de posibles candidatos. Tambin se emplean en recompilacin de informacin cuando es necesario encontrar "documentos" similares dado un documento y una base de datos de documentos de referencia. En bioinformtica, y en particular en la prediccin de genes, se analizan n-gramas extrados de las largas cadenas de cidos nucleicos del ADN (secuencias o frases de un alfabeto de cuatro letras, en definitiva), as como de aminocidos (un alfabeto que consta, usualmente, de veinte letras), con el objetivo de detectar patrones estadsticos que permitan poner de manifiesto la posible existencia de genes.

Referencias
Christopher D. Manning, Hinrich Schtze, Foundations of Statistical Natural Language Processing, MIT Press: 1999. ISBN 0-262-13360-1.
[1] Dongjin Choi et al. "Solving English Questions through Applying Collective Intelligence" [2] http:/ / ngrams. googlelabs. com/ datasets [3] http:/ / books. google. com/ ngrams/ graph?content=leadership%2Cmotivation& year_start=1800& year_end=2000& corpus=0& smoothing=3 [4] http:/ / amazings. es/ 2010/ 12/ 19/ experimentos-y-tendencias-en-google-labs/ [5] Nacho Garca Mostazo,"Libertad Vigilada". Ediciones B, S.A., 2002 [6] Robert C. Moore y Chris Quirk,"Improved Smoothing for N-gram Language Models Based on Ordinary Counts" [7] Caroline Lyon, Ruth Barrett, y James Malcolm."A theoretical basis to the automated detection of copying between texts, and its practical implementation in the Ferret plagiarism and collusion detector". In Proceedings of Plagiarism: Prevention, Practice and Policies Conference, Newcastle, UK, 2004. [8] Caroline Lyon, James Malcolm, and Bob Dickerson. Detecting short passages of similar text in large document collections. In Proceedings of the Conference on Empirical Methods in Natural Language Processing, pages 118125, Pennsylvania, 2001. [9] Luis Alberto Barrn Cedeo,"Deteccin automtica de plagio en texto" [10] Marc Damashek,"Gauging Similarity with n-Grams: Language-Independent Categorization of Text". Science, New Series, Vol. 267, No. 5199 (Feb. 10, 1995), pp. 843-848. American Association for the Advancement of Science [11] Nacho Garca Mostazo,"Libertad Vigilada". Ediciones B, S.A., 2002

Enlaces externos
Generador de N-gramas de palabras (http://ben.akrin.com/?p=779). Un generador de N-Gramas (http://jonathanwellons.com/n-grams/index.cgi). Otro generador de texto aleatorio a partir de N-Gramas (http://johno.jsmf.net/knowhow/ngrams/).

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


N-grama Fuente: http://es.wikipedia.org/w/index.php?oldid=64982078 Contribuyentes: Asasia, Bepp, DaveFX, Enrique.benimeli, Fercufer, Hlnodovic, Hortelano, Ignacioerrico, SPZ, Xavivars, 9 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

Вам также может понравиться