Publicado el 25 de Abril del 2018
813 visualizaciones desde el 25 de Abril del 2018
465,1 KB
15 paginas
Creado hace 9a (11/09/2015)
Análisis de estrategias para clasicar contenidos
en foros de discusión: Un caso de estudio
Valeria Zoratto+, Gabriela N. Aranda+, Sandra Roger∗, Alejandra Cechich+
∗
Grupo GIISCo+, Grupo GILIA
Facultad de Informática, Universidad Nacional del Comahue
Buenos Aires 1400 (8300) Neuquén, Argentina
{vzoratto|gabriela.aranda|roger}@fi.uncoma.edu.ar
Resumen La información que generan las consultas realizadas en foros
especializados puede ser de gran utilidad para otros usuarios que tengan
problemas similares. Nuestra propuesta es capturar, mantener y analizar
hilos de discusión existentes en foros técnicos para, dado un problema
particular, sugerir un conjunto de soluciones exitosas en menos intentos
que utilizando buscadores multipropósito tradicionales. En este trabajo
se presenta una serie de casos de estudio enfocados en hilos de un foro
técnico sobre el uso del lenguaje de programación Java y se analizan
estrategias para clasicar dichos hilos y relacionarlos con las clases Java
correspondientes.
1.
Introducción
Los foros de discusión disponibles en la Web sobre temáticas relacionadas
al desarrollo y mantenimiento de software, contienen un amplio conocimiento
sobre diferentes problemáticas cotidianas, por lo que hacer un análisis de dicha
información es algo deseable y valioso [1]. Los usuarios generalmente utilizan
motores de búsqueda multipropósito para acceder a dicha información, y suelen
recorrer varias páginas buscando un problema similar al suyo. Este proceso puede
llevar al usuario a visitar distintas páginas antes de encontrar una propuesta de
solución para su pregunta, y a veces es necesario probar varias de ellas hasta
obtener la correcta. Para ello se propone avanzar en la línea presentada en [2]
a n de lograr el pre-procesamiento de la pregunta del usuario y, basado en el
análisis previo de hilos de discusión clasicados por tema, ofrecerle un conjunto
ordenado de soluciones con mayor probabilidad de éxito.
Como se muestra en la Figura 1, para reutilizar la información disponible
en los foros de discusión, es necesaria una primera etapa durante la cual se
clasiquen los hilos de dichos foros. Para ello se propone utilizar un conjunto
de entidades más reconocibles, llamados documentos de referencia. A modo de
ejemplo, en este artículo se ha analizado una colección de hilos de discusión
sobre uso del lenguaje Java, y como documentos de referencia un repositorio de
especicación de clases de dicho lenguaje.
Teniendo en cuenta este objetivo, en la Sección 2 se describe el diseño de
una familia de casos de estudio para evaluar estrategias que logren una mejora
ASSE 2015, 16º Simposio Argentino de Ingeniería de Software. 44 JAIIO - ASSE 2015 - ISSN: 2451-7593176Figura 1. Proceso de clasicación de hilos de acuerdo a documentos de referencia
en la clasicación de hilos de discusión. Luego, en la Sección 3 se presenta el
desarrollo de la primera etapa de dicha familia. Posteriormente, en la Sección 4
se analizan los resultados obtenidos y, nalmente, se presentan las conclusiones
y líneas de trabajo futuro.
2. Diseño de una familia de casos de estudio
Un caso de estudio se desarrolla con el objetivo de investigar una entidad
o fenómeno particular en el contexto de la vida real [3]. Los casos de estudio
son estudios observacionales, es decir, se llevan a cabo mediante la observación
de un proyecto o actividad que está en marcha, mientras que los experimentos
son estudios en entornos controlados [4]. Dado que el objeto real de estudio es la
información disponible en la Web, se ha diseñado una estrategia empírica basada
en el estudio de casos. En la Tabla 1 se muestra la denición de dicha estrategia
según la plantilla propuesta por el método GQM [5].
Tabla 1. Denición del caso de estudio según plantilla GQM
Analizar
Foros de discusión sobre aspectos técnicos disponibles en la
Web
Con el propósito de
Clasicar los hilos de los foros para relacionarlos a una
entidad más reconocible (documentos de referencia)
Con respecto a
Determinar el grado de relación entre distintos hilos de foros
Desde el punto de vista de
Usuario externo de un foro
En el contexto
Información disponible en la Web de forma pública
ASSE 2015, 16º Simposio Argentino de Ingeniería de Software. 44 JAIIO - ASSE 2015 - ISSN: 2451-7593177Figura 2. Estructura de los documentos utilizados en el caso de estudio
Como esta etapa se ha enfocado en el estudio de hilos de foros de discusión
sobre uso del lenguaje Java, se ha seleccionado como conjunto de documentos de
referencia la especicación de clases de Oracle (versión 5)1.
En la Figura 2 se muestra un ejemplo de la estructura de los documentos
involucrados en este estudio. Como se puede observar, un hilo de discusión tiene
un título y una pregunta principal, que han sido los disparadores del hilo, y luego
una serie de respuestas a dicha pregunta (pedidos de aclaración, propuesta de
soluciones, etc). Por el otro lado, un documento Oracle tiene el nombre de la clase
(Class Name en el documento Oracle) y a continuación se listan las interfaces que
implementa (Implemented Interfaces), subclases conocidas (Known Subclasses),
etc.
En base a la información contenida en las secciones presentes en cada tipo
de documento (hilos de discusión y documentos Oracle), y a la tarea objeto de
esta investigación de clasicar los hilos de foros de discusión de la manera más
apropiada, se han denido las siguientes hipótesis:
Hipótesis A: Utilizar mayor cantidad de información sobre cada una de las
clases Java documentadas en Oracle permite clasicar los hilos de discusión
relacionados a ellas de forma más precisa.
Hipótesis B: Utilizar más información sobre el problema explicado en los
hilos de discusión permite clasicarlos de forma más precisa respecto a los
documentos Oracle de las clases Java.
En las siguientes secciones se explican los pasos realizados para implementar las
distintas etapas de dicha estrategia.
3. Desarrollo de los casos de estudio
En base al diseño explicado anteriormente, se han denido una serie de pasos
para comprobar las hipótesis propuestas mediante casos de estudio:
1 http://docs.oracle.com/javase/1.5.0/docs/
ASSE 2015, 16º Simposio Argentino de Ingeniería de Software. 44 JAIIO - ASSE 2015 - ISSN: 2451-7593178Figura 3. Fases del desarrollo de los casos de estudio
Fase 1. Recuperación de documentos
Fase 2. Clasicación por expertos
Fase 3. Pre-procesamiento de documentos
Fase 4. Indexación de documentos de referencia
Fase 5. Búsqueda de documentos relevantes
En la Figura 3 se muestra una vista de dichas fases, así como de las entradas y
salidas de cada una de ellas, que serán explicadas con más detalle en las secciones
siguientes. Si bien las fases se han numerado y presentado de manera secuencial,
se puede observar que algunas de ellas pueden realizarse de manera paralela.
Por ejemplo, la Fase 2 (clasicación por expertos) puede realizarse a la vez que
la Fase 3, 4 y 5, dado que su evolución y resultado no depende de otras fases
o de resultados intermedios. En las secciones siguientes se irán explicando las
características más importantes de cada fase y su implementación en los casos
de estudio realizados.
3.1. Fase 1: Recuperación de documentos
En esta etapa se han recuperado de la Web, los documentos a utilizar durante
los casos de estudio propuestos. Por tratarse de pruebas preliminares, se se ha
restringido el estudio a un único foro de discusión, Stack Overow 2, ampliamente
utilizado por la comunidad de programadores. Haciendo uso de la funcionalidad
del buscador de dicho foro, se ha realizado una consulta con la cadena: Integer
class AND Java. Por el contrario, no se ha realizado ningún ltrado previo
para los documentos del sitio Oracle, descargándose la especicación de todas
las clases Java de la versión elegida. En la Tabla 3.1 se resumen las características
2
http://stackoverow.com/
ASSE 2015, 16º Simposio Argentino de Ingeniería de Software. 44 JAIIO - ASSE 2015 - ISSN: 2451-7593179Tabla 2. Características técnicas del caso de estudio
Documentos de referencia
Hilos de discusión
Sitio
Idioma
Oracle
Inglés
Stack Overow
Inglés
URL Sitio
http://docs.oracle.com/javase/1.5.0/docs/
http://stackoverow.com/
Fecha recup.
27/11/2014
Cadena búsq.
-
27/02/2015
Integer class AND Java
Doc. analizados
2953 (todos los disponibles versión 1.5.0)
20 hilos
Tabla 3. Ejemplo de clasicación de los hilos realizadas por expertos
Hilo
Muy alto
Alto
Medio
Bajo
Muy bajo
3
6
8
12
16
18
19
Integer
JTable
Integer
String Object
JScrollPane
Component
JCombobox
JFrame
Long Boolean
Character
Double Short
Float Byte
Integer
Character
String
BigInteger
Integer
Long
String
String
Integer
String Integer
Integer
Float Double
de la realización de esta fase, indicándose la fecha de descarga de los documentos
utilizados, cantidad de documentos recuperados de cada tipo, etc., de acuerdo a
las restricciones explicadas anteriormente.
3.2. Fase 2: Clasicación por expertos
Como primera instancia,
los hilos de discusión recuperados han sido
analizados para identicar, entre las clases Java mencionadas en el hilo, aquellas
a las que el problema planteado por el usuario se encontraba más relacionado. A
n de conseguir una clasicación objetiva, se ha requerido el análisis consensuado
de tres expertos. Dado que los hilos están escritos en lenguaje natural,
la
información que presentan contiene un alto grado de ambigüedad. Es por ello
que el estudio se ha restringido a los primeros 20 hilos recuperados clasicados
de acuerdo a la escala de relación: muy alto, alto, medio, bajo y muy bajo. Por
ejemplo, para el hilo 8, se ha determinado que se encontraba relacionado en
grado alto con las clases Integer y Character, con grado bajo con la clase String,
y muy bajo con la clase BigInteger. En la Tabla 3 se muestra, a modo de ejemplo,
el resultado de dicho análisis para algunos hilos recuperados.
ASSE 2015, 16º S
Comentarios de: Análisis de estrategias para clasificar contenidos en foros de discusión: Un caso de estudio (0)
No hay comentarios