# data[].attributes.body
La manera de trabajar sera la siguiente:

Parte 1: Individual

Ver Video: https://www.youtube.com/watch?v=E-wWPKOeTLc&rel=0

Notas: Apuntar como máximo 2 ideas en notas adhesivas debajo de cada columna.

Parte 2: Grupal

Comentar/navegar:  se puede  comentar  buscando nuevas pautas para organizar la información, así como nuevos enfoques.

Votar y comentar : Cada persona puede puntuar las ideas con una valoración del 1 al 10, ademas si lo desea puede fundamentar la decisión tomada.

Muchas gracias por participar!

# data[].attributes.body
Se debería dotar al agente con un procedimiento que contenga instrucciones que permitan filtrar ciertas palabras u objetos que puedan ser interpretados ya sea como una interaccion negativa, positiva o nula.

# data[].attributes.body
Una herramienta que podría ser útil a la hora de identificar conflictos emocionales en redes sociales es el hashtag, permitiría realizar una búsqueda especifica para cada caracter teniendo la posibilidad de agrupar y diferenciar cada uno con su correspondiente "reacción".

# data[].attributes.body
Por ejemplo (SVM, Bayes, árboles de decisión, ...) para verificar si existen patrones que permitan detectar conflicto.

# data[].attributes.body
Se podría crear un modelo descriptivo a través de una técnica de clustering que permita analizar muchas conversaciones y luego realizar una descripción de las similaridades que guardan las conversaciones en las cuales hay conflictos.

# data[].attributes.body
Una herramienta podría ser el lenguaje JADE para programación de agentes.

# data[].attributes.body
Para la programación de los algoritmos de machine learning te recomendaría usar las librerías de inteligencia artificial disponibles para Python.

# data[].attributes.body
Un inconveniente podría ser lograr adquirir una buena cantidad de conversaciones en las cuales haya conflictos.

# data[].attributes.body
En caso de conseguir una buena cantidad de datos, un desafío podría ser su procesamiento, por ejemplo, podrías tener que enfrentar poblemas de memoria, tiempo de ejecución, ...

# data[].attributes.body
Para atacar este problema, debido a que hoy en día es el lenguaje hegemónico en la temática, utilizaría Python. Para Python se han construido (y sigue día a día) muchas bibliotecas para trabajar Machine Learning. En particular recomiento Scikit-Learn (http://scikit-learn.org/stable/) el cual trae un gran conjunto de herramientas para realizar todas las etapas involucradas en el aprendizaje automático y la clasificación, sobre todo cuando se trabaja con texto, como ser este el caso (por ejemplo, ver este tutorial oficial:  http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html).

Además, si se desea trabajar centrado en Redes Neuronales (o técnicas de Deep Learning en general), recomiendo la utilización de TensorFlow, ya que tiene la capacidad de correr sobre la GPU (acelerando cientos o miles de veces los tiempos de ejecución). Sin embargo TensorFlow (https://www.tensorflow.org/)suele ser algo complicado para los que no están acostumbrados a trabajar a un nivel más "cercano a la matemática", por lo que recomiendo utilizar Keras(https://keras.io/), en lugar de TensorFlow (que también brinda los mismos beneficios).

# data[].attributes.body
Creo que el principal inconveniente será familiarizarse con el enfoque y las técnicas para solucionar el problema, familiarizarse con temáticas como Data Mining o Machine Learning, con la forma en la que se trabaja (las etapas que conlleva la realización de este tipo de sistemas). Recomiendo realizar curso o leeer sobre Data Mining y Machine Learning en general. Puedo ayudar con algo de material de ser necesario o asistiendo personalmente (tengo algo de experiencia en la temática, actualmente estoy en 4to año del doctorado trabajando con este tipo de problemas)

# data[].attributes.body
Creo que para este tipo de problema es factible utilizar Machine Learning, siempre que esté acompañado por algún experto que clasifique las interacciones de manera tal que permita detectar los conflictos.

# data[].attributes.body
En la actualidad creo que es lo más utilizado en el área de la Inteligencia Artificial.
Por lo que he podido leer, en algunos trabajos utilizaron Theano y Blocks como librería y framework de aprendizaje automático en Python.
Yo no utilicé estas herramientas por lo que no podría decirte si son o no lo más recomendado.
Si te puedo decir que he tenido buena experiencia utilizando JADE en Java para el desarrollo de un sistema multiagente. Sin embargo, Java es bastante mas estricto que Python en cuestiones de programación, y me hizo renegar bastante cuando he querido definir interfaces gráficas a mis agentes.

# data[].attributes.body
En la literatura se menciona el uso de técnicas de aprendizaje automático para esta clase de problemas, en algunos casos combinadas con los métodos basados en palabras clave. La principal ventaja de combinar ambos es obtener una buena precisión gracias a los clasificadores automáticos pero tener la posibilidad de agregar información semántica relacionada a los resultados obtenidos, por ejemplo, categorizando las emociones resultantes de acuerdo a alguna teoría de emociones como la de Ekman.

# data[].attributes.body
Creo que es conveniente estar bien asesorado en cuestiones de la detección de conflictos en base a las emociones, debido a que si se trabaja con Clasificación, las clases (etiquetas, categorías) que se utilicen puede influir notablemente en los resultados obtenidos.

# data[].attributes.body
Es uno de los lenguajes más utilizados actualmente puesto que tiene muchas librerías para ML. Puede ser útil también investigar alguno de los frameworks para pipelines de datos en pyhton, que permiten encadenar las tareas de adquisición, almacenamiento y análisis de datos de manera eficiente.

# data[].attributes.body
Como fue mencionado anteriormente, obtener un conjunto de datos etiquetado puede ser una dificultad importante. A veces se cuenta con un buen conjunto de datos, pero si es muy grande el etiquetado manual es bastante costoso. Se pueden explorar otras posibilidades para automatizar en parte este proceso, utilizando por ejemplo, APIs de reconocimiento de emociones disponibles en el mercado.
Por otra parte, si se pretende hacer la detección en tiempo real, un desafío importante será definir la secuencia de procesamiento del agente para que sea capaz de entregar los resultados en tiempo y forma.

# data[].attributes.body
Creo que antes de comenzar a realizar el trabajo, es adecuado pensar cómo se va a atacar/modelar el problema. Precisamente ¿se clasificará cada mensaje individualmente? y en base a ello se tomará la decisión, ¿se trabajará utilizando técnicas más avanzadas que tengan en cuenta la secuencia de los mensajes y la acumulación de la evidencia? (clasificadores clásicos como SVM, ANN, NB, LG, etc. tomando como entrada una representación de documento) Para este segundo caso es adecuado explorar clasificadores que tenga la capacidad de clasificación incremental y/o que tengan la capacidad de procesar secuencias (como ser algún tipo de Redes Neuronales Recurrentes, como ser LSTM o GRU? la segunda forma de encargarlo es más robusta ya que para decir no sólo se debe "aprender" a clasificar en base al mensaje actual, sino a toda la secuencia completa de mensajes (evidencia acumulada). Tal vez a priori sea conveniente hacer pruebas utilizando los dos enfoques (pequeñas pruebas) y cuantíficar el impacto en la performance de los clasificadores, ya sea en Accuracy, Precision o Recall o alguna medida que también incluya "el tiempo" en decidir (medido en mensajes). En cuento a la representación de los documentos, yo incursionaría en técnicas que han demostrado ser más eficientes que la simple Bolsa de Palabras (con pesados clásicos como TF-IDF), como ser Cosine Semantic Analisys (consultarme en caso de desconocerlo) que representa de una forma densa (no dispersa/sparse), las palabras en término de las clases, y luego los documentos en término de ellas.