Pregunta

Quiero clasificar los tweets dentro de un determinado conjunto de categorías como { 'deportes', 'entretenimiento', 'amor'}, etc ...

Mi idea es tomar las frecuencias de términos de las palabras que se usan más comúnmente para ayudar a resolver este problema. Por ejemplo, la palabra 'amor' se presenta con mayor frecuencia en el amor categoría, sino que también se manifiesta en los deportes y entretenimiento en forma de "Me encanta este juego" y "Me encanta esta película".

Para resolverlo, I prevé un gráfico de 3 ejes, donde los valores de x son todas las palabras utilizadas en mis tweets, los valores de y son las categorías, y los valores z son las frecuencias plazo (o algún tipo de puntuación) con el respeto a la palabra y la categoría. Me gustaría entonces romper el tweet en el gráfico y después sumar los valores z dentro de cada categoría. La categoría con el valor z total más alta es más probable la categoría correcta. Sé que esto es confuso, por lo que te voy a dar un ejemplo:

La palabra 'reloj' aparece mucho en los deportes y el entretenimiento ( "Estoy viendo el partido" y "estoy viendo mi programa favorito") ... Por lo tanto, reducido a estas dos categorías al menos . Pero la palabra 'juego' no se presenta a menudo en el entretenimiento y el espectáculo no se presenta a menudo en los deportes. el valor Z de 'reloj' + 'juego' será más alto para la categoría de deportes y 'reloj' + 'show' será más alto para el entretenimiento.

Ahora que usted entiende cómo mis idea funciona, necesito ayuda organizar estos datos de manera que un algoritmo de aprendizaje de máquina puede predecir categorías cuando se dé una palabra o grupo de palabras. He leído mucho acerca de las SVM y yo creo que son el camino a seguir. Probé libsvm, pero me parece que no puede llegar a un buen conjunto de entrada. Además, libsvm no admite valores no numéricos, que es la adición de una mayor complejidad.

Algunas ideas? ¿Es siquiera necesita una biblioteca, o debo código de la toma de decisiones a mí mismo?

Gracias a todos, sé que esto era mucho, lo siento.

¿Fue útil?

Solución

Bien se está tratando de hacer la clasificación de texto en un grupo de categorías. Bayes ingenuo hace esto. De hecho, es un análogo de la estadística de su idea. Se supone que la frecuencia de las palabras en un texto son indicadores independientes de una categoría y da una probabilidad de cada categoría en función de esta suposición. Funciona bien en la práctica; Creo Weka tiene una aplicación.

Otros consejos

Hay que Documentos Clasificar (aquí los tweets son sus documentos) sobre la base de su contenido (palabras-características) y los pone en la categoría (deportes, medio ambiente, amor, etc.).

Puede utilizar Naive Bayes clasificador o clasificador de Fisher (prefiero Fisher) para clasificar sus documentos . Puede encontrar la aplicación tanto en las bibliotecas de Python.

Uso derivada, baje-carcasa, stop-palabra (el, es, al etc) eliminación y otras técnicas de procesamiento previo para aumentar la eficiencia.

Todo lo que necesita es ir a través del Capítulo 6 (Documento de filtrado) del libro de programación colectiva de Inteligencia: Creación de aplicaciones Smart Web 2.0. Tiene buena explicación tanto de los clasificadores más ejemplos y aplicación en Python.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top