Photo: Eric Nisingizwe,
6.5. Expected agricultural changes in the future
El objetivo de esta fase es realizar la clasificación de los tuits provenientes de la red social Twitter. Para llevar esta a cabo, en la fase anterior se entrenó un algoritmo de clasificación supervisada con un conjunto de datos enfocados a la temática football. Para clarificar la explicaciones de nuestro enfoque seguiremos un ejemplo conductor. La siguiente tabla muestra una pequeña lista de ejemplos capturados desde la red social, en la columna “Texto” se muestra el texto original del tuit. Texto “Whenever Gonzalo Higuaín scores for Napoli” “Zinedine Zidane's touch” “Barcelona u12's just taking the piss” “@realDonaldTrump We love you Donald ! Finally someone who actually cares about us!!” Tabla 3.7 : Conjunto de tuits capturados
Por cada tuit capturado se realiza el proceso de simplificación para eliminar información irrelevante, como son stopwords y conectores. Este proceso es el mismo que se utilizó en la fase de entrenamiento. La siguiente tabla muestra el resultado de aplicar dicho proceso. En la columna “ Reducción de texto” se observa las palabras a eliminar en negrita tachadas y en la columna “ Texto reducido ” el texto resultante de la eliminación de dichas palabras:
Reducción de texto Texto reducido
“Whenever Gonzalo Higuaín scores for
Napoli” “Gonzalo Higuain scores Napoli” “Zinedine Zidane's touch” “Zinedine Zidane’s touch” “Barcelona u12's just taking the piss” “Barcelona u12’s”
“@realDonaldTrump We love you
Donald ! Finally someone who
actually cares about us!!”
“@realDonaldTrump love Donald actually cares about”
Tabla 3.8 : Conjunto de tuits de capturados reducidos
A continuación se procede a realizar la extracción de temas candidatos, entidades y palabras clave del texto procesado y filtrado en el proceso anterior. Este proceso es el mismo que se utilizó en la fase de entrenamiento. En la siguiente tabla se muestra un resumen de los datos deducidos
Texto reducido Entidades Palabras clave Temas
candidatos
“Gonzalo Higuain
scores Napoli” “Higuain”, “Napoli” “Napoli” “Sports”, “Art and “Football”, entertainment” “Zinedine Zidane’s
touch”
“Zidane” “Zinedine Zidane” “Football”, “Sports”, “Art and
entertainment” “Barcelona u12’s” “Barcelona” “Barcelona” “Football”,
“Sports”, “Art and entertainment”
Tabla 3.9 : Conjunto de entidades, palabras clave y temas candidatos.
3.2.1 Deducción utilizando algoritmo clasificación
En este punto, TweetAnalyser realiza la clasificación de los tuits utilizando el algoritmo seleccionado. En el caso del algoritmo SVM se tiene c omo resultado del entrenamiento un conjunto de clasificadores SVM binarios. Cuando un dato a clasificar es enviado al clasificador SVM este pasa por cada uno de esos clasificadores binarios. Es decir, se busca saber si el dato
pertenece a la etiqueta que caracteriza a cada clasificador. Este proceso consiste en ubicar el dato a clasificar en el plano, de tal manera que represente un vector teniendo en cuenta para su ubicacion las caracteristicas del modelo (entidades, palabras clave, temas candidatos). En base a eso se calcula una distancia entre el nuevo dato a los demás puntos. Una vez ubicado el punto, se calcula la distancia entre este, el hiperplano óptimo y el margen generado. Si este vector se encuentra entre el hiperplano óptimo y el vector que indica la distancia máxima del margen, es considerado un vector de apoyo. La distancia entre hiperplano óptimo y margen es una proporción del 100%, esta distancia indica la probabilidad de pertenecer a una etiqueta o no, teniendo en cuenta que cuanto más cerca del hiperplano óptimo se encuentre el vector del dato, mayor será la probabilidad. En caso de estar del lado negativo del hiperplano óptimo la probabilidad será 0%. Una vez hecho este procedimiento por cada clasificador binario, el resultado será la etiqueta de aquel clasificador que tiene la mayor probabilidad.
Ilustración 3.3 : Clasificación de algoritmo SVM.
Es la anterior ilustración podemos observar la representación del hiperplano óptimo, los márgenes y los datos de entrenamiento, diferenciando como vectores de apoyo a aquellos que se encontraban dentro de los límites de dicho margen.
Por otro lado para realizar la clasificación utilizando el algoritmo Naive Bayes inicialmente el texto es tokenizado, o sea se separa en palabras. A partir de aquí se arma una lista de frecuencia que cuenta el número de veces que aparece cada palabra en el tuit. Con toda esta información, se calcula la
es la probabilidad de la misma dado que la categoría es Y (p(X/Y)). Aplicando el teorema de Bayes dicha probabilidad se calcula como la cantidad de veces que aparece la palabra X en la categoría Y sobre la cantidad de palabras totales de esa categoría. Este valor se multiplica por la frecuencia de la palabra calculada inicialmente para obtener la probabilidad total del token. El proceso se repite por cada categoría por cada token para calcular todos los valores de referencia. Finalmente el algoritmo selecciona el mayor valor para elegir qué categoría asignarle al tweet.
Por último el algoritmo KNN, se basa en tomar la información que se desea clasificar y calcular las distancias de todos los miembros del conjunto de entrenamiento con respecto al dato a clasificar. Es decir, se toma el tuit a clasificar y se compara uno a uno con cada tuit del conjunto de entrenamiento y por cada atributo se realiza una comparación. Esta comparación es un procedimiento que consiste en separar el texto de este atributo en conjuntos de N letras y buscar similitudes en ambos conjuntos (conjunto del atributo seleccionado del tuit a clasificar y conjunto del atributo seleccionado del tuit de entrenamiento) para obtener un valor de referencia, el cual representa a la probabilidad de similitud del par de atributos. Sumando todos los valores de referencia obtenidos del par de tuits se obtiene el valor de similitud del tuit a clasificar. Una vez que se realizó esta comparación con todos los elementos del conjunto de entrenamiento se selecciona la etiqueta de aquel tuit cuyo valor de similitud sea el más alto.