8 votos

Cómo hacer minería de texto, minería de sentimiento e identificación de categoría negocios y dónde obtener una biblioteca de categorización

Actualmente estoy trabajando con la Minería de Texto que incluye el sentimiento de identificación y asignación de negocio correspondiente categorías de uso de la herramienta de código abierto R. me encontré con estos dos documentos, que me ayudó en cierta medida:

Mi enfoque es para acortar el texto y, a continuación, búsqueda para el sentimiento y la categoría de negocios. Para ello necesito positivos y negativos de las bibliotecas para el sentimiento de la minería y de la categoría de archivo, que contiene la palabra y de la categoría. Yo era capaz de conseguir positivos y negativos palabras, pero fue incapaz de conseguir una categorización de la biblioteca.

  • Donde puedo conseguir una categorización de la biblioteca?
  • Es el enfoque adecuado? Hay una manera mejor de hacer esto?

2voto

curiousguy Puntos 81

Una solución mencionada por Jeffrey Breen es utilizar léxico Lu y de Hiu. También imparte un tutorial cool para la minería, sentimiento en Twitter.

2voto

marbel Puntos 166

He usado Jeffrey de la función para el cálculo de la partitura con el "buscar" método.

Hice un índice de corrupción de polititians de Argentina. Así que la más de la gente dijo que eran corruptos, mayor será la puntuación.

Por los datos que tenía, como los tweets fueron en español, acabo de escribir un pequeño diccionario más coherente con las necesidades del problema. Supongo que depende de lo que se desee analizar.

Además de este enfoque, hay métodos más sofisticados. Creo que hay un curso de coursera sobre la PNL.

Aquí es otro recurso: https://sites.google.com/site/miningtwitter/basics/text-mining Se dice que es obsoleta debido a los cambios de la API de twitter, pero el autor de twitteR paquete de adaptar el paquete a la nueva API. Así que primero es necesario instalar el paquete actualizado, tal vez la versión de origen. Aquí es el autor de la página web. _http://geoffjentry.hexdump.org/ El posterior se necesita con el fin de no obtener duplicados de tweets al hacer una llamada más de 100 tweets.

Jeffrey Función de:

score.sentiment = function(sentences, pos.words, neg.words, .progress='none')
{
    require(plyr)
    require(stringr)

    # we got a vector of sentences. plyr will handle a list
    # or a vector as an "l" for us
    # we want a simple array ("a") of scores back, so we use 
    # "l" + "a" + "ply" = "laply":
    scores = laply(sentences, function(sentence, pos.words, neg.words) {

        # clean up sentences with R's regex-driven global substitute, gsub():
        sentence = gsub('[[:punct:]]', '', sentence)
        sentence = gsub('[[:cntrl:]]', '', sentence)
        sentence = gsub('\\d+', '', sentence)
        # and convert to lower case:
        sentence = tolower(sentence)

        # split into words. str_split is in the stringr package
        word.list = str_split(sentence, '\\s+')
        # sometimes a list() is one level of hierarchy too much
        words = unlist(word.list)

        # compare our words to the dictionaries of positive & negative terms
        pos.matches = match(words, pos.words)
        neg.matches = match(words, neg.words)

        # match() returns the position of the matched term or NA
        # we just want a TRUE/FALSE:
        pos.matches = !is.na(pos.matches)
        neg.matches = !is.na(neg.matches)

        # and conveniently enough, TRUE/FALSE will be treated as 1/0 by sum():
        score = sum(pos.matches) - sum(neg.matches)

        return(score)
    }, pos.words, neg.words, .progress=.progress )

    scores.df = data.frame(score=scores, text=sentences)
    return(scores.df)
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X