Con respecto al uso del modelo bigram (N-gram) para construir un vector de características para documentos de texto

10

Un enfoque tradicional de construcción de características para la minería de texto es el enfoque de bolsa de palabras, y puede mejorarse usando tf-idf para configurar el vector de características que caracteriza un documento de texto dado. En la actualidad, estoy tratando de usar el modelo de lenguaje bi-gram o (N-gram) para construir el vector de características, pero ¿no sé cómo hacerlo? ¿Podemos seguir el enfoque de la bolsa de palabras, es decir, calcular el recuento de frecuencia en términos de bi-gramo en lugar de palabras, y mejorarlo utilizando el esquema de ponderación tf-idf?

usuario3125
fuente

Respuestas:

4

Si. Sin embargo, eso generará muchas más funciones: podría ser importante aplicar un límite (por ejemplo, descartar características como bi-gramos o palabras que aparecen menos de 5 veces en su conjunto de datos) para no ahogar su clasificador con demasiados ruidos caracteristicas.

ogrisel
fuente
Gracias. ¿Quiere decir que mi idea general de calcular cada valor de característica en términos de bigram (N-gramo) es correcta? En otras palabras, no existe una gran diferencia en el cálculo de los valores de las características entre la bolsa de palabras y el modelo de N-gram. Gracias por la aclaración.
user3125
Sí, puede usar ambos bigrams + unigrams (palabras) en una gran bolsa de características (siempre que recorte las menos frecuentes con un cierto nivel de corte).
ogrisel
3

El número de bigrams se puede reducir seleccionando solo aquellos con información mutua positiva.

Hicimos esto para generar una bolsa de representación de bigrams en la pista INEX XML Mining, http://www.inex.otago.ac.nz/tracks/wiki-mine/wiki-mine.asp .

Lo que no intentamos es usar la información mutua entre los términos al ponderar los bi-gramos. Ver https://en.wikipedia.org/wiki/Pointwise_mutual_information , https://www.eecis.udel.edu/~trnka/CISC889-11S/lectures/philip-pmi.pdf y http: //www.nltk. org / howto / collocations.html para una mejor explicación de información mutua puntual para bigrams.

Ver /programming/20018730/computing-pointwise-mutual-information-of-a-text-document-using-python y /programming/22118350/python-sentiment-analysis -using-pointwise-mutual-information para otras preguntas relacionadas con esto.

Chris de Vries
fuente
enlace muerto :-( ...
Renaud
1
@Renaud Los enlaces se han actualizado :-)
Chris de Vries
0

El uso de proyecciones aleatorias para reducir la dimensionalidad de los datos puede resultar útil para reducir el espacio requerido para almacenar las características, https://en.wikipedia.org/wiki/Random_projection . Se escala muy bien y cada ejemplo se puede proyectar a un espacio dimensional inferior de forma independiente y sin ningún método de optimización directo como PCA, SVD, Sammon Maps, NMF, etc.

Chris de Vries
fuente