Toma cada palabra como una característica. El valor de cada característica se puede codificar como su presencia (0 o 1), o la frecuencia o TF-IDF de esa característica (palabra). Esta característica también se conoce como característica n-grama. Cuando toma palabras individuales, el valor de n es 1 y se conocen como 1 gramo.
Preprocesamiento: como podría haber pensado, palabras como ‘a’, ‘la’ podrían no ser tan significativas. Estas palabras se conocen como palabras de detención y se eliminan durante el procesamiento previo. Además, no importa si es ‘Apple’ o ‘apple’, por lo que todo el texto se puede llevar a minúsculas. Además, ‘comer’ y ‘comer’ sugerirían un contexto similar y eventualmente conducirán a la misma clase, por lo que se realiza la lematización para llevar cada una de las palabras en forma de raíz (por ejemplo, comer para comer, correr para correr).
Ejemplo: considere dos oraciones juntas, una que mencionó y otra “El mango es realmente dulce”. Para el conjunto de las dos oraciones, las características serán manzana, realmente, sabroso, mango, dulce. El conjunto de datos con estilo se verá así:
- ¿Existe un programa de tipo PageRank para organizar mis canales RSS diarios?
- Cómo pensar que el 'problema de aprendizaje One Shot' se resolverá con Deep Neural Network
- ¿Cuáles son los principales niveles de clasificación de reclusos?
- ¿Crees que es posible generar historias, pistas dadas, usando técnicas de PNL?
- ¿Cómo debo elegir entre SVM y árbol de decisión para un problema de clasificación?
manzana muy sabrosa mango dulce
Oración 1: 1 1 1 0 0
Oración 2: 0 1 0 1 1
N-gramas más altos: Básicamente ‘n’ en n-gramas significa cuántas palabras consecutivas estás tomando. Entonces, para 2 gramos tomaremos 2 palabras consecutivas. es decir, para las características de la oración dada, ‘manzana realmente’ y ‘realmente sabroso’. Del mismo modo extender por 3 gramos y así sucesivamente.
Entonces, una pregunta es ¿por qué la técnica de n-gram funciona tan bien?
La presencia de ciertas palabras puede indicar fuertemente la clase de oraciones. Por ejemplo, en su oración ‘sabroso’ sugeriría un sentimiento positivo. Además, cuando se toman 2 gramos, el svm podría obtener una confianza aún mayor para la predicción de la clase o eliminar la ambigüedad. por ejemplo, suponga que el 60% de las veces apareció la palabra ‘sabroso’, fue un sentimiento positivo pero el 40% de las veces fue negativo. Pero cuando tomamos 2 gramos, las características que aparecen pueden ser ‘realmente sabrosas’ y ‘no sabrosas’. Claramente, el primero es un sentimiento positivo, pero el segundo es un sentimiento negativo. Ahora, puede suceder que aparezca 98% ‘realmente sabroso’, es un sentimiento positivo. El modelo aprenderá de acuerdo con los datos reales.
Prácticamente, no obtienes mucho incremento después de 3 gramos, ya que la aparición de las mismas tres palabras consecutivas es insignificante y, por lo tanto, habrá muy pocas muestras de cualquiera de las características para obtener una conlusión fuerte para esa característica. Además, habrá pocas posibilidades de que cualquiera de los 3 gramos provenga del conjunto de 3 gramos presente en el conjunto de trenes y se elimine gradualmente. Por lo tanto, generalmente n no se elige por encima de 3.
Una respuesta similar por mí en: