Data for the task of Author Profiling #pan2013

Number of users crawled: 30,043,934
Number of documents: 2,910,874 -> Not all users have a blog
Number of words: 837,010,833

Captura de pantalla 2013-05-20 a las 22.39.02 Captura de pantalla 2013-05-20 a las 22.40.00 Captura de pantalla 2013-05-20 a las 22.40.10 Captura de pantalla 2013-05-20 a las 22.40.29 Captura de pantalla 2013-05-20 a las 22.40.39 Captura de pantalla 2013-05-20 a las 22.40.47 Captura de pantalla 2013-05-20 a las 22.40.55 Captura de pantalla 2013-05-20 a las 22.41.04 Captura de pantalla 2013-05-20 a las 22.41.16 Captura de pantalla 2013-05-20 a las 22.41.25 Captura de pantalla 2013-05-20 a las 22.41.36 Captura de pantalla 2013-05-20 a las 22.41.47 Captura de pantalla 2013-05-20 a las 22.42.01 Captura de pantalla 2013-05-20 a las 22.42.12 Captura de pantalla 2013-05-20 a las 22.42.19 Captura de pantalla 2013-05-20 a las 22.42.30 Captura de pantalla 2013-05-20 a las 22.42.38 Captura de pantalla 2013-05-20 a las 22.42.53 Captura de pantalla 2013-05-20 a las 22.43.18 Captura de pantalla 2013-05-20 a las 22.43.25 Captura de pantalla 2013-05-20 a las 22.43.32 Captura de pantalla 2013-05-20 a las 22.43.40 Captura de pantalla 2013-05-20 a las 22.44.21 Captura de pantalla 2013-05-20 a las 22.44.27 Captura de pantalla 2013-05-20 a las 22.44.34 Captura de pantalla 2013-05-20 a las 22.44.40 Captura de pantalla 2013-05-20 a las 22.44.47 Captura de pantalla 2013-05-20 a las 22.44.55 Captura de pantalla 2013-05-20 a las 22.45.03 Captura de pantalla 2013-05-20 a las 22.45.10 Captura de pantalla 2013-05-20 a las 22.45.18 Captura de pantalla 2013-05-20 a las 22.45.25 Captura de pantalla 2013-05-20 a las 22.45.31 Captura de pantalla 2013-05-20 a las 22.45.37 Captura de pantalla 2013-05-20 a las 22.45.43 Captura de pantalla 2013-05-20 a las 22.45.51 Captura de pantalla 2013-05-20 a las 22.45.59 Captura de pantalla 2013-05-20 a las 22.46.06

El uso del lenguaje en los diferentes canales de Internet

“El estilo discursivo es un reflejo de la personalidad del sujeto que lo elabora. La elección de las palabras y el modo en que se combinan, aporta información de dimensiones como el género, la edad e incluso el estado emocional de quién las emite. Pero en Comunicación 2.0 nos enfrentamos a gran variedad de canales y surge la pregunta, ¿define el canal el modo en que se usa el lenguaje? Hemos analizado más de 30 millones de documentos de la Wikipedia, Prensa, Blogs, Foros, Twitter y Facebook, y presentamos cómo se utiliza el lenguaje en cada uno de ellos.”

Con esta introducción presentamos en el congreso Comunica 2.0 nuestro estudio sobre cómo los usuarios utilizan el lenguaje en diferentes canales de Internet y cómo esto se debe tener en cuenta a la hora de realizar análisis de contenidos que nos lleven a determinar, entre otras cosas, su perfil psicológico.

A continuación os dejo la presentación y un enlace al paper “El uso del lenguaje en los diferentes canales de Internet“:

En el artículo podéis encontrar cosas tan interesantes como la distribución del uso de categorías gramaticales por canal, dónde entre otras cosas podemos apreciar el menor uso de adjetivos y sustantivos en el canal Twitter, lo que vendría a describir las cosas, para aumentar el uso de adverbios y preposiciones, lo que vendría a describir las situaciones, o la tremenda similitud del canal Facebook con el canal Prensa:

catxcanal

 

La distribución del uso de la persona y el número de los pronombres y los verbos, dónde se aprecia claramente el mayor uso de la primera persona del singular en canales centrados en el YO como son los Foros y Twitter, o la tercera del singular en canales descriptivos como son la Wikipedia o la Prensa:

pronxcanal

verbxcanal

 

O la lista de las palabras más frecuentes en cada uno de los canales, dónde se aprecia que las palabras de estilo tienen la alta frecuencia que les caracteriza pero que en canales como Twitter son alcanzadas por una de las categorías gramaticales menos utilizadas en el español, los pronombres (me, se). Así como la aparición de sustantivos en canales como los Foros (pregunta, abierta) donde el uso de sustantivos es ligeramente inferior al resto:

palabras

 

Si os interesa la discusión a estos resultados, y cómo hemos llegado a ellos, no dejéis de leer el artículo :-)

Cosmos, tocamos Internet

“Cuando se habla de reputación online se suele relacionar inmediatamente con análisis del sentimiento: positivos, negativos y neutros. Pero la reputación y los intereses de una organización van mucho más allá de esto. Presentamos Cosmos, la herramienta de Autoritas que permite gestionar todas las relaciones que una institución tiene en el universo de Internet, poniendo orden en el caos de información existente y ofreciendo una metodología para profesionalizar las oportunidades que se producen en Internet. Especializada en el español, desarrollada por ingenieros y consultores de España, Argentina, México, Chile y Panamá, Cosmos ayuda a las organizaciones a Tocar Internet.”

A continuación os dejo el enlace a la presentación que realizamos en el pasado congreso Comunica 2.0 celebrado en Gandía sobre nuestro producto de Escucha Activa: Cosmos


En próximas entradas os dejaré el enlace a la investigación presentada en el mismo congreso de nombre “El uso del lenguaje en los diferentes canales de Internet”, dónde analizamos cómo se usa el español en más de 30 millones de documentos de la Wikipedia, Prensa, Blogs, Foros, Twitter y Facebook, realizado de nuevo con la herramienta Cosmos.

Cifras del análisis de las emociones en Facebook

En el último post sobre Análisis de emociones en Facebook planteaba las tres temáticas sobre las que efectuar el estudio y las páginas de las que recuperar los comentarios. El planteamiento ha sido recuperar los comentarios realizados en los últimos 1.000 posts de cuatro páginas de cada una de las tres temáticas propuestas: política, fútbol y personajes públicos.

A continuación muestro las cifras y unos breves comentarios de esta recuperación previa:

TEMÁTICA PÁGINA Nº POSTS Nº COMENTARIOS
POLÍTICA PSOE 1.000 22.096
PP 1.000 4.590
IU 1.002 2.867
UPYD (ESTUDIANTES) 593 135
FÚTBOL REAL MADRID 1.125 1.035
BARCELONA FC 1.002 1.520
VALENCIA CF 1.003 463
ATHLETIC BILBAO 560 444
PERSONAJES PÚBLICOS BELÉN ESTEBAN 1.000 12.191
SANTIAGO SEGURA 1.000 99
DAVID BISBAL 1.000 2.902
KIKO HERNÁNDEZ 1.007 291

 

Es de notar que la página de UPyD no tenía más que tres comentarios, por lo que decidí tomar una página relativa al partido que no fuera demasiado local a una autonomía, por lo que tomé la página de UPyD Estudiantes (http://www.facebook.com/UPyD.Estudiantes)

Lo primero que me llama la atención es la diferencia en el número de comentarios realizados en la página del PSOE frente a los realizados en la página del PP. Tomando que para ambas se han recuperado los comentarios efectuados en sus últimas 1.000 entradas, en el PSOE los usuarios emiten una media de 22 comentarios por post, frente a los 4,6 del PP.

Lo siguiente que me llama la atención es el poco número de comentarios que tienen Santiago Segura o Kiko Hernández. ¡Es que casi nadie les hace caso! Y bueno, el caso de Belén Estéban, qué vamos a decir, si es la Princesa del Pueblo de un pueblo que pide la III República :-)

A partir de los datos brutos anteriores hay que tomar la muestra que formará parte del proceso de etiquetado manual de las emociones que sirva para el entrenamiento de los modelos, cosa que ya os contaré en próximos posts según avance en la investigación. Pero aquí os dejo unas pequeñas muestras de los comentarios realizados en cada una de las páginas, espero que como a mi os resulte interesante el uso del lenguaje  en cada una de las páginas y sobre todo de las temáticas.

PSOE

psoe

PP

pp

IU

iu

UPYD (ESTUDIANTES)

upyd

REAL MADRID

real madrid

BARCELONA FC

 

barcelonaVALENCIA CF

valencia

ATHLETIC DE BILBAO

bilbao

BELÉN ESTEBAN

belen esteban

SANTIAGO SEGURA

santiago segura

DAVID BISBAL

david bisbal

KIKO HERNÁNDEZ

kiko hernandez

Análisis de las emociones en Facebook

Siguiendo la línea de investigación del Author Profiling descrita en anteriores artículos y dando un paso más en mi doctorado y en la línea de investigación más básica de Cosmos, estoy preparando una batería de experimentos relacionados con la obtención de las emociones a partir de textos escritos.

Y para todos los que estamos metidos de lleno en el mundo de los social media, poca duda podemos tener que uno de los sitios dónde más emociones se suelen expresar es en los comentarios realizados en Facebook.

Eligiendo este canal, he optado por dividir en tres las temáticas, tomando una muestra de cuatro páginas significativas para cada una de las temáticas, y extrayendo todos los comentarios efectuados por los usuarios en ellas. En breve publicaré las cifras y posiblemente algún cambio si los experimentos así lo sugieren.

POLÍTICA

Página del PSOE: http://www.facebook.com/psoe

Página del PP: http://www.facebook.com/pp

Página de UPyD: http://www.facebook.com/pages/UPyD/118929341454735

Página de Izquierda Unida: http://www.facebook.com/izquierda.unida

 

FÚTBOL

Página del Real Madrid: http://www.facebook.com/RealMadrid

Página del Barcelona FC: http://www.facebook.com/fcbarcelona

Página del Valencia CF: http://www.facebook.com/vcf1919

Página del Athletic de Bilbao: http://www.facebook.com/pages/ATLETICO-BILBAO/103997686354572

 

PERSONAJES PÚBLICOS

Página de Belén Esteban: http://www.facebook.com/BelenEstebanM

Página de Kiko Hernández: http://www.facebook.com/ElConfesionariodeKiko

Página de Santiago Segura: http://www.facebook.com/pages/Santiago-Segura-Silva/12459228767

Página de David Bisbal: http://www.facebook.com/davidbisbal

 

No sé por qué, sin entrar al detalle, creo que todas ellas levantarán “emociones” :-)

 

 

Datos de entrenamiento de la competición sobre Author Profiling #PAN 2013

Hemos liberados los datos de entrenamiento para la tarea sobre Author Profiling de la competición PAN 2013 en la que el objetivo es la detección del género y el rango de edad al que pertenecen los autores a partir de sus textos escritos.

Los datos de entrenamiento vienen etiquetados por:

  • IDIOMA: Inglés y Castellano
  • GÉNERO: Masculino y Femenino
  • RANGO DE EDAD:
    • 10s: Rango de edad entre 13 y 17 años
    • 20s: Rango de edad entre 23 y 27 años
    • 30s: Rango de edad entre 33 y 47 años

El corpus en inglés incorpora 236.000 autores, con 413.564 conversaciones y 180.809.187 palabras. El corpus en castellano incorpora 75.900 autores, con 126.453 conversaciones y 21.824.198 palabras, distribuidos de la siguiente manera:

LANG AGE GROUP GENDER N. OF AUTHORS
EN 10s MALE 8.600
FEMALE 8.600
20s MALE 42.900
FEMALE 42.900
30s MALE 66.800
FEMALE 66.800
ES 10s MALE 1.250
FEMALE 1.250
20s MALE 21.300
FEMALE 21.300
30s MALE 15.400
FEMALE 15.400

Se ha incorporado además documentos de autores que pretenden aparentar ser menores, como por ejemplo líneas de chats de pedófilos extraídas de la competición del año anterior.

Esperamos que os animéis a competir, ya tenemos varios equipos interesados y me gustaría ver a las grandes empresas e investigadores del PLN de nuestro país compitiendo en una materia tan novedosa como floreciente como es el Author Profiling, y en esta primera competición en nuestro idioma.

Podéis descargar el dataset con las instrucciones en la Web del PAN: http://pan.webis.de en el apartado Author Profiling.

Egogramas y de cómo predecir la personalidad de los internautas (III)

En la primera de las entragas del mismo nombre se presentaba uno de los modelos teóricos más aceptados cuando se trata de estudiar la personalidad, el modelo de los Big Five, y en la segunda entrega se presentaba algunos de los métodos experimentales de recolección de información desde textos para la construcción de estos modelos. En esta entrega se describe un modelo complementario a los Big Five y que sirve como herramienta para realizar estudios en este ámbito, los Egogramas.

Originalmente desarrollado por Jack Dusay en los años 70 en el campo del Análisis Transaccional, un egograma se define como “un gráfico de barras que muestra la relación entre cada rasgo de la personalidad con el resto y la cantidad de energía psicológica que emana hacia el exterior”.

El egograma es por lo tanto un gráfico de barras que muestra la cantidad de energía dentro de la estructura del ego de una persona y cómo esta persona redistribuirá esta energía entre sus diferentes egos en un momento determinado del tiempo.

El análisis estructural estudia los estados del yo, definidos como una terna formada por el yo PADRE, el yo ADULTO y el yo NIÑO.

  • El “yo” PADRE: Siente y actúa como sus padres cuando el individuo era un niño. Dentro del padre se encuentra la dicotomía de Padre Normativo y Padre Natural. El normativo actúa en el papel de conciencia, es autoritario y no reflexivo, dogmático. El natural actúa de manera generosa, comprensiva, paternalista y acogedora.
  • El “yo” ADULTO: Ejerce el papel de la supervivencia, estudiando el entorno y las circunstancias y  calculando las posibilidades de manera fría, objetiva y adaptable. Es el “yo” que toma las decisiones.
  • El “yo” NIÑO: Busca el placer y evita los esfuerzos como cuando el individuo era un niño, lo que se conoce como niño natural, pero también es creativo, una de las partes más valiosas de nuestro ego, en lo que se conoce como niño adaptado, en sus dos vertientes, sumiso y rebelde, así como también incorpora el conocimiento y sabiduría natural que todo individuo posee desde la infancia, la intuición, en lo que se llama el pequeño profesor.

A continuación se muestra algunos ejemplos de egogramas:

egogram

 

Donde,

CP: Critical Parent
NP: Nurturing Parent
A: Adult
FC: Free Child
AC: Adaptable Child

Egograma vs. Big Five

El egograma trata con el modo en que los individuos se comunican entre ellos desde una perspectiva social y psicológica, mientras que los “Big Five” describen y representan las tareas relacionadas con los comportamientos individuales.

La clave por lo tanto puede estar en modelar egogramas a partir de los modos de comunicación, estudiando patrones lingüísticos por ejemplo, y relacionar estos egogramas con un modelo Big Five.

En próximas entregas se mostrarán algunos de los trabajos más avanzados en el estado del arte y se irán introduciendo aspectos concretos de los trabajos realizados en el seno de mi doctorado y de su aplicación a Cosmos.

Quiero dar de nuevo las gracias a Vicent Polvoreda por la recopilación y estudio realizado, y al Dr. Paolo Rosso por el camino que ya estamos recorriendo juntos en este apasionante campo, empezando por la competición en Author Profiling lanzada en el PAN 2013 en el seno de la CLEF Conference.

 

CfP PAN 2013

——————————————————————————-
PAN @ CLEF: Call for Participation
——————————————————————————-

We invite you to take part in one of the following evaluations:

1. Plagiarism Detection — Given a document, is it an original?
This task is divided into source retrieval and text alignment.
Source retrieval is about searching for likely sources of a suspicious document.
Text alignment is about matching passages of reused text between documents.

2. Author Identification — Given a document, who wrote it?
This task focuses on authorship verification and methods to answer the question
whether two given documents have the same author or no. This question
accurately emulates the real-world problem that most forensic linguists face
every day.

3. Author Profiling — Given a document, what’s its author’s age / gender?
This task is concerned with predicting an author’s demographics from her
writing. Besides being personally identifiable, an author’s style may also
reveal her age and gender. Accurate predictors are of key interest to forensic
linguists and marketers alike.

Learn more at http://pan.webis.de.

PAN is held in conjunction with the CLEF’13 conference in Valencia, Spain.

——————————————————————————-
Important Dates
——————————————————————————-

now open Registration
Mar 31, 2012 Run submission
Jun 16, 2012 Notebook submission
Sep 23-26, 2012 Conference

——————————————————————————-
Organization
——————————————————————————-

Martin Potthast, Tim Gollub, Matthias Hagen, Benno Stein
Webis @ Bauhaus-Universität Weimar

Parth Gupta, Paolo Rosso
NLEL @ Universidad Politécnica de Valencia

Efstathios Stamatatos
University of the Aegean

Moshe Koppel
Bar-Ilan University

Patrick Juola
Duquesne University

Giacomo Inches
IRGroup @ University of Lugano

Francisco Rangel
Autoritas Consulting

Cómo predecir la personalidad de los internautas (II)

En el anterior artículo dedicado a este tema hablamos de los Big Five como modelo psicológico base para definir los rasgos de personalidad, pero nos quedó pendiente enlazar cómo pueden detectarse estos rasgos a partir de lo que los usuarios escriben.

El trabajo realizado en textos escritos se ha basado principalmente en estos Big Five (en ocasiones mezclado o no con el modelo de Egogramas que describiremos en otro artículo), empleando diferentes tipos de características para recopilar la información para la construcción del modelo.

Algunos de los más usados son:

  • Function words
  • Systemic Functional Grammar Analysis
  • Características derivadas de LIWC

Function Words

Las palabras de función (function words) son palabras con muy poco significado léxico o con un significado ambiguo, pero que por contra sirven para expresar relaciones gramaticales con otras palabras dentro de una misma oración.

Las palabras de función le permiten de manera explícita expresar actitud o humor al hablante, pero también son usadas de manera inconsciente según los rasgos de personalidad de quién las utiliza en su discurso.

La clase de palabras que se consideran palabras de función son los artículos, pronombres, conjunciones, verbos auxiliares, interjecciones y otras partículas como si, entonces, sin embargo, mas, pero…

Uno de los autores que más intensamente ha investigado y divulgado sobre este tipo de palabras es James W. Pennebaker, escritor de The Secret Life of Pronouns, y uno de los desarrolladores de LIWC, explicado en próximos párrafos.

Systemic Functional Grammar Analysis

Systemic Functional Grammar se basa en la lingüística sistémica funcional propuesta por [1] y tiene en cuenta gran cantidad de problemas básicos relacionados con las gramáticas y el análisis de oraciones que no pueden ser solucionadas por una gramática tradicional, presentando un modo muy sistemático de analizar oraciones y entender sus constituyentes.

El término sistemático se refiere a la visión del lenguaje como una red de sistemas o de conjuntos interelacionados de opciones para generar significado.

Características derivadas de LIWC

Linguistic Inquiry and Word Count (LIWC) es un software de análisis de texto desarrollado por [2].

LIWC calcula el grado en que los individuos utilizan las diferentes categorías de las palabras a lo largo de grandes cantidades de texto, incluyendo emails, discursos, poemas o transcripciones de discursos orales del día a día…

De manera sencilla permite determinar el grado en que un texto utiliza emociones positivas o negativas, autoreferencias, palabras causales y hasta otras 70 dimensiones del lenguaje.

 

Si bien es cierto que todavía no abundan los trabajos en este área, y aún menos en lenguas diferentes al inglés, se deja entrever el interés de la comunidad científica y las grandes posibilidades que se brindan a empresas e instituciones.

En próximos artículos hablaremos de los Egogramas y de cómo se relacionan con los Big Five, relataremos algunos ejemplos del estado del arte, presentaremos resultados de estudios como los de [3], y cómo no os contaremos qué estamos haciendo en Autoritas y Cosmos en este apasionante campo :-)

 

Referencias

[1] HALLIDAY, Michael A.K. “Estructura y función del lenguaje”, en John Lyons (ed.), Nuevos horizontes de la lingüística, pp. 145-173, Alianza Editorial, Madrid, 1975

[2] Pennebaker, J.W., Booth, R.J., & Francis, M.E. (2007). Linguistic Inquiry and Word Count: LIWC 2007. Austin, TX: LIWC (www.liwc.net)

[3] Argamon, S., Moshe, K., Pennebaker, J.W., Schler, J. Automatically Profiling the Author of an Anonymous Text. Communications of the ACM – Inspiring Women in Computing. Volume 52 Issue 2, February 2009 Pages 119-123

Redes Bayesianas con SQL

Si repasamos el ciclo tecnológico de la Escucha Activa nos encontramos con diversos puntos en los que es precisa la clasificación de información incierta, cuantificando lo que a priori es información cualitativa, y para ello nada mejor que los métodos probabilísticos. En aprendizaje automático, las redes bayesianas son uno de los métodos más comunes para modelar este tipo de problemas por su buen comportamiento a la hora de trabajar con incertidumbre.

Pero en este artículo no vamos a hablar de cómo aprender una red bayesiana, algo muy bien explicado en los libros y sobre todo muy bien implementado en múltiples paquetes de software tanto propietarios como abiertos, como por ejemplo nuestro querido Weka.

No, en este artículo vamos a ver cómo podemos implementar una red bayesiana en base de datos y cómo podemos inferir conocimiento a posteriori a partir de la red bayesiana, que modela el conocimiento a priori,  y de la observación de nuevas evidencias, y todo ello mediante consultas SQL.

Partiremos de una red bayesiana sencilla, obtenida por ejemplo del conocimiento de unos expertos (o aprendida automáticamente):

 

Podemos pensar que la red bayesiana representa un modelo simplificado  de clasificación binaria de páginas Web como blogs o no blogs a partir de dos características observables y un valor de clase, en la línea de lo descrito en [*Rangel & Peñas, 2009]. Por ponerle nombre, supongamos que A es la observación de RSS en la página Web y B la observación de la palabra BLOG en su url. Sea pues C la probabilidad de dadas las características descritas, la página sea de tipo Blog.

Tomando una muestra suficientemente grande de páginas Web, podríamos partir de unas probabilidades a priori observadas tales como se presenta a continuación (datos completamente ficticios)

Para A, es decir, la probabilidad que dada una página Web cualquiera, disponga de RSS, podría ser:

Lo que significaría que de la muestra observada, el 55% dispone de RSS y el 45% no, independientemente del tipo de página Web que sea.

Para B, es decir, la probabilidad que dada una página Web cualquiera, presente la palabra BLOG en su url, podría ser:

En este caso el significado sería que de la muestra observada, el 10% contiene la palabra BLOG en su url, por ejemplo blogspot.com, y que el 90% no la contendría, de nuevo, independientemente del tipo de página Web que estemos observando.

El conocimiento de un experto -o un modelo aprendido a partir de los datos- nos podría proporcionar las siguientes probabilidades de clasificación:

Que significaría lo siguiente, empezando por la primera línea:

Si la página NO contiene RSS y NO presenta la palabra BLOG en su url, hay una probabilidad del 5% de que sea un blog

Si la página NO contiene RSS y SÍ presenta la palabra BLOG en su url, hay una probabilidad del 77% de que sea un blog

Si la página SÍ contiene RSS y NO presenta la palabra BLOG en su url, hay una probabilidad del 66% de que sea un blog

Si la página SÍ contiene RSS y SÍ presenta la palabra BLOG en su url, hay una probabilidad del 99% de que sea un blog

La tabla anterior quedaría completa con las clasificaciones negativas, para lo que simplemente se replican las combinaciones y se obtiene por resta con el 100%:

Con lo anterior tendríamos completamente modelada la red bayesiana mediante una representación conceptual.

Una vez modelada, podríamos desear conocer información como “Si sucede que obtenemos una página Web de tipo BLOG, es decir,  C=Y, ¿qué sucede con las evidencias A y B?”.

Pues que por la ley de probabilidad condicional de Bayes las probabilidades a priori se recalculan con la nueva evidencia para convertirse en probabilidades a posteriori y son fácilmente son calculables con SQL de la siguiente manera, de modo que podríamos contestar a preguntas como por ejemplo, ¿qué probabilidad a posteriori tendríamos, sabiendo que el documento es un Blog, de que haya contenido un RSS?

Pues bien, es hora de trabajar con SQL. Con cualquier motor de base de datos relacional con el que estemos habituados, por ejemplo MySql, nos creamos las tres siguientes tablas:

create table PA (A varchar(1), P double, primary key (A))

create table PB (B varchar(1), P double, primary key (B))

create table PC (A varchar(1), B varchar(1), C varchar(1), P double, primary key (A, B, C))

Rellenamos los valores con los indicados en los cuadros de arriba y ya tenemos la red implementada en base de datos.

Para inferir el conocimiento anteriormente indicado, que dada la evidencia de que la página en cuestión es un BLOG saber las probabilidades condicionales (a posteriori) de la presencia de RSS, se realizaría del siguiente modo:

SELECT PC.A, SUM(PA.P * PB.P * PC.P)

FROM PA, PB, PC

WHERE PA.A=PC.A AND PB.B=PC.B

AND PC.C=’Y’

GROUP BY PC.A

Es decir, efectuamos una consulta sql que relaciona todas las tablas (PA, PB y PC)  por los valores de las evidencias (campos A, B y C), suma la multiplicación de sus prioridades (SUM (PA.P * PB.P * PC.P), agrupa por la evidencia cuya probabilidad a posteriori deseamos conocer (GROUP BY PC.A ó lo que es lo mismo, agrupa por la existencia de RSS) y fija la evidencia observada (PC.C=’Y’ ó que la página observada es de tipo BLOG)

El resultado obtenido es el siguiente:

 

 

 

Que sería equivalente a realizar el cálculo matemático correspondiente:

P(A=Y) = 0.55 · [0.99 · 0.1 + 0.77 · 0.9] = 0.4356

P(A=N) = 0.45 · [0.66 · 0.1 + 0.05 · 0.9] =  0.04995

Y sólo nos quedaría normalizar para que la suma de probabilidades sea 100%:

P(A=Y, B|C=Y) = 0.4356 / (0.4356 + 0.04995) = 0.8971

P(A=N,B|C=Y) = 0.04995 / (0.4356 + 0.04995) = 0.1028

Lo anterior significa que dada la evidencia de una página de tipo blog, a posteriori la probabilidad de que contenga RSS es aprox. del 89,7% y de que no contenga es de aprox. 10,3%

Pero lo más importante aquí ha sido comprobar cómo con SQL podemos modelar e inferir conocimiento desde una red bayesiana.

Por supuesto, si queremos automatizar parte de este cálculo aún más podemos realizarnos un pequeño programita en Java (o PHP para los amantes de ese lenguaje)

 

* Detecting Blogs Independently from the Language and the Content. Rangel Pardo, F.M., Peñas Padilla, A. 1st International Workshop on Mining Social Media, MSM09-CAEPIA09, 2009