Todos esperamos más de los motores de búsqueda Web, veremos sus tendencias, analizaremos como una vieja técnica, la de anotar o glosar porciones se impone con nuevos usos en el futuro de la Web para dar o extraer sentido de lo que se archiva y publica a la vez que se complementa con los avances en el procesamiento del lenguaje
Keywords: Natural Language Processing, Semantic annotation, Semantic Web, Web search engines
CULTURA NAZCA, presentación en aula para compartir
Motores búsqueda semánticos
1. SEMINARIO DE POSGRADO SEGUNDO CUATRIMESTRE 2009 de la
Cátedra Tecnologías en Comunicación Social
Cambios sociales y culturales: innovando en lasTecnologías en
comunicación social
Docente dictante responsable: Héctor H. THOMPSON
Otros docentes dictantes
AZPIAZU, Hernán
BOSCH, Mela
ROJAS, Carlos
SORGENTINI, Luis
Documento de trabajo:
Los motores de búsqueda semánticos
para incluir y extraer conocimiento en la Web
Autora: Mela Bosch
Resumen:
Todos esperamos más de los motores de búsqueda Web, veremos sus tendencias,
analizaremos como una vieja técnica, la de anotar o glosar porciones se impone con
nuevos usos en el futuro de la Web para dar o extraer sentido de lo que se archiva y
publica a la vez que se complementa con los avances en el procesamiento del lenguaje
Keywords: Natural Language Processing, Semantic annotation, Semantic Web, Web search engines
Palabras clave: Anotación semántica, Motores de búsqueda, Procesamiento del lenguaje natural, Web semántica
Motores de búsqueda: tipos y tecnologías
Es importante hacer algunas distinciones terminológicas que identifican tecnologías,
estrategias y enfoques diferentes en los buscadores Web en general.
Un primer tipo es el motor de búsqueda textual (Full Text Search Engine) basado en
análisis léxico. Se trata de una forma de procesamiento que divide el texto en
parágrafos, frases, palabras y también identifica entidades tales como direcciones de
correo electrónico y direcciones Web, todos estos elementos para ser procesados son
considerados como unidades acumulativas, técnicamente llamadas tokens, son
sometidos a una serie de parámetros estadísticos con los que se establece un rango de
enlaces, esta lista es la que se presenta como respuesta a nuestra pregunta. Este tipo de
motores son los primeros que aparecieron, eran de este tipo por ejemplo el Gopher,
creado en 1991 por Mark McCahill de la University of Minnesota y Veronica (Very
Easy Rodent-Oriented Net-wide Index to Computerized Archives) (ver
http://www.webreference.com/authoring/search_history/ [Consultada 21-07-09]
Luego tenemos los motores con indización de la semántica latente (Latent semantic
indexing, LSI), estos motores se basan en análisis del significado no literalmente
explícito utilizando algoritmos con componentes estadísticos y léxicos. En este sentido
2. el Latent semantic analysis (LSA) es una técnica de procesamiento del lenguaje natural
(Natural Language Processing, NLP ) que usa una base de datos de documentos para
encontrar términos similares. En este tipo de motores se puede encontrar entonces un
cierto grado de sinonimia y devuelve los enlaces a los sitios Web que mejor se adaptan a
nuestra búsqueda, el LSI no necesita tener el exacto término en una referencia para
poder ofrecerlo como repuesta, puede usar aproximaciones de acuerdo con la estructura
de sinónimos cuasi sinónimos que identifica. (ver
http://en.wikipedia.org/wiki/Latent_semantic_analysis) [Consultada 21-07-09]
El motor Google utiliza este tipo de análisis, aunque el componente estadístico es más
fuerte que el de procesamiento de lenguaje, pero según todos hemos podido
experimentar puede detectar errores de tipeo, cambios en las expresiones, etc. En este
motor se aplican además otro tipo de parámetros que no son lingüísticos sino
vinculados a la explotación comercial de los buscadores. Es el caso de PageRank, el
algoritmo de Google para calcular el valor de a una página en la lista que se obtiene
cuando se hace una búsqueda. PageRank analiza las etiquetas que describen el sitio así
como los títulos del mismo, es decir que hace análisis textual, pero también computa lo
que se llama Link Popularity: Otros sitios que citan ese sitio, los enlaces funcionan
como sugerencia de un sitio Web a sus visitantes, así la cantidad de enlaces que apuntan
a una página mejora la posición de la misma por criterios que no tienen que ver con el
contenido semántico. Entonces si un sitio es citado por otros aumenta su popularidad, el
valor se calcula no sólo con la cantidad de enlaces, sino también la calidad de ellos, que
por supuesto se mide con el PageRank. Entonces el valor que Google asigna a una
página puede aumentar aunque pocos sitios hayan insertado el enlace del mismo, o el
contenido no sea óptimo respecto de la consulta, siempre y cuando provengan de
páginas consideradas valiosas para Google, es decir que tengan un PageRank alto. Es
útil para detectar sitios atendibles, porque se trata de sitios ya visitados por otros, pero
también genera una “elitización” de los resultados de Google O al menos daña a los
sitios recientes o a los que no se plantean la política de insertar enlaces a otros sitios.
Vemos que el tema de los motores de búsqueda no solo se refiere a la calidad de la
recuperación sino al negocio ligado a la ubicación en los primeros puestos de los
enlaces en una respuesta.
Finalmente tenemos los llamados motores de búsqueda semánticos, (Semantic Web
search engines) que intentan tomar el sentido de una palabra como factor para los
algoritmos de ordenamiento y también pueden ofrecer al usuario posibilidades para
desambiguar o refinar su consulta. Estos son llamados también motores de búsqueda
de tercera generación, los cuales su vez utilizan las otras dos tecnologías de búsqueda
textual y de búsqueda de semántica latente a las que se suman otras específicas llamadas
tecnologías de Web semántica. Estas son: ontologías, RDF (Resource Description
Format) OWL (Ontology Web Language). Las tecnologías de Web semántica se
basan en lógicas de descripción para dar cuenta de manera formal y computable de la
semántica de los objetos de un sistema.
Dentro de estos motores de tercera generación o motores de búsqueda semánticos
debemos hacer algunas distinciones:
Tenemos por un lado los Buscadores semánticos orientados al usuario (User oriented
Semantic Web search engines) estos motores nos devuelven enlaces a páginas Web, y
pueden usar internamente tanto tecnologías de Web semántica como de LSI, Entre ellos
tenemos a los siguientes: True Knowledge, Hakia y PowerSet.
3. Además están los Buscadores semánticos orientados a servicios Web (Semantic Web
Services oriented) Estos no son para el usuario final, sino que dan enlaces a útiles para
los especialistas que necesitan trabajar en la construcción de recursos de Web
semántica, devuelven enlaces a ontologías, archivos en OWL, a instancias de RDF.
Entre ellos tenemos: SOWL,WSE, Watson, Falcons, Sindice y Swoogle
Y finalmente tenemos los motores de búsqueda orientados a la Web social
semántica La llamada socio-semantic web (s2w) se propone complementar la visión
formal de la Web semántica con un acercamiento pragmático agregando a los lenguajes
controlados creados con fuertes bases lógicas otros aspectos heurísticos basados en
experiencias de prueba y error experimentadas por multitudes de usuarios que realizan
etiquetado colaborativo (folksonomy) Entre ellos tenemos por ejemplo a:
http://www.stumpedia.com/[Consultada 21-06-09]
La diferencia de este tipo de motores con los buscadores semánticos orientados al
usuario es que utilizan microformatos de Web 2.0 (por ejemplo RSS) para poner
etiquetas y usan para el trabajo cooperativo apoyado en computadoras Computer
Supported Cooperative Work (CSCW). (ver:
http://en.wikipedia.org/wiki/Social_Semantic_Web) [Consultada 21-07-09]
¿Cuál Web Semántica?
¿Por qué tenemos todas esta diferencias? Según nos indican en
http://www.readwriteweb.com/archives/semantic_web_patterns_a_guide_redux.php
[Consultada 21-07-09]
Estos es así porque la llamada Web semántica significa muchas cosas para muy
diferentes tipo de personas y usos. Para algunos Web semántica significa la Web de los
datos, donde la información está representada en RDF, OWL o en microformatos que
se agregan a páginas HTML. Para otros, Web semántica es el ámbito de los servicios
Web desde comercio electrónico y comunicación multimedial. Finalmente es la Web de
la inteligencia artificial, de los programas capaces de resolver complejos problemas de
optimización.
Pero hay algo que uniforma esta diversidad: son los instrumentos para extraer o asignar
sentido en los motores de búsqueda semánticos. Y aquí la diversidad se resume a solo
dos opciones: El tratamiento del lenguaje natural (Natural Language Processing,
NLP) y la anotación semántica.
Anotación proceso y resultado
El concepto de anotación semántica (semantic annotation) es conocido también como
marcado semántico (semantic markup), etiquetado semántico (semantic tagging o
semantic labelling), pero poco a poco el término anotación se ha ido imponiendo.
(Garcia-Castro, R.; Garcia Silva, A, 2009)
En forma más general la anotación se encuentra presente en la Web desde hace mucho
con diferentes alcances y usos, tenemos así la anotación en texto libre (Free-text
annotation) que pueden ser cualquier tipo de comentarios, notas, explicaciones,
referencias, sugerencias, correcciones, en fin cualquier tipo de indicación externa que
puede ser agregada o incluida en un documento Web o en una parte de él (ver
http://www.ncb.ernet.in/groups/dake/annotate/intro.shtml) [Consultada 21-07-09]
4. En tanto que la anotación semántica en general significa la asociación de una entidad
de datos con un elemento de tipo semántico que puede ser:
Un esquema de clasificación, una ontología, un tesauro o cualquier otro instrumento de
identificación de conocimiento en un repositorio de información. Por ejemplo algo tan
usual y generalizado como las asignaciones de los descriptores de MeSH al las
citaciones en MEDLINE, es decir una común indización por palabras claves o
descriptores, hasta asignaciones de sentido mucho más complejas como los términos de
la Gene Ontology a los productos genéticos en UniProt. (Camon et alia, 2008)
Pero el término que nos interesa no es el de anotación semántica en general, sino lo que
específicamente se realiza para la Web, es decir la anotación para Web semántica
(Semantic Web Annotation). Este tipo de anotación tiene como objetivo hacer que las
máquinas puedan comprender un dato en uno o varios sentidos y puedan usarlo para
tomar decisiones y realizar acciones en determinadas y precisas situaciones. (Atanas,
2005)
El procedimiento para incluir datos comprensibles y procesables en la Web es agregar
datos sobre los datos, es decir por medio de la creación de metadata. Por eso es que
usan también los términos de marcado semántico (semantic markup), etiquetado
semántico (semantic tagging o semantic labelling), pues hacen referencia al proceso y
no al hecho de la anotación.
El término anotar denota el proceso de anotar así como el resultado de esa anotación.
Cuando aplicamos la anotación en el ámbito de la Web semántica el proceso de
anotación involucra tres componentes:
El primero y básico: una ontología que describe el dominio del sistema. Pues la
anotación para Web semántica es un tipo específico de anotación donde el predicado y
el contexto deben ser términos de una ontología y el objeto al que se refieren debe
responder a una definición ontológica en el sentido de la Web semántica: un conjunto de
términos que refieren a objetos, términos que se encuentran expresados considerando
sus propiedades y relaciones en un determinado dominio y sin que eso impida que en el
desarrollo de una ontología intervengan diferentes enfoques metodológicos según el
campo disciplinario de quienes aportan en la construcción de la ontología o en el
dominio de aplicación de la misma. (Bosch 2006).
El Segundo componente es un proceso de reconocimiento de la instancias de datos, es
decir la detección de los objetos que responden a esa ontología, ya sea en un corpus de
documentos o en un reservorio objetos multimedeales que es manejado por el sistema
que hace uso de la ontología.
La acción de anotar
Tenemos entonces que los dos primeros componentes de una anotación semántica
corresponden al proceso de anotación, el tercer componente de una anotación es la
acción que produce la anotación como resultado: se agrega contenido semántico a las
instancias que responden a las propiedades y atributos de una ontología u otra estructura
de representación de conocimiento. (ver
http://www.deg.byu.edu/ding/research/SemanticAnnotation.html) [Consultada 21-07-
09]
5. La anotación como acción puede ser manual, automática o semiautomática. Para ello se
utilizan los herramientas de anotación semántica (semantic annotation tools)
A su vez podemos identificar dos tipos fundamentales de herramientas de anotación con
sus desarrollos combinados, por supuesto, pero indicaremos los tipos en forma pura:
La anotación en línea (Inline annotation) en la que el documento original es
incrementado con el agregado de metadata. En este caso la metadata está incrustada en
el documento (embedded metadata). Este tipo de anotación es llamada también
anotación de autor (Semantic Authoring). Se incluyen en los documentos las
indicaciones para que los sistemas puedan analizarlos, se usan esquemas en XML como
RDF (Resourse Description Format)
<html> Fuentes:
Metadata incrustada
<html>
<html> …
Documentos,
… … <annot> fotos, videos y
<annot>
<annot>… otros objetos
… … </html> Web
</html>
</html>
En cuanto a la metodología de construcción este tipo de anotación es llamada anotación
bottom up, porque se va generando y creciendo a medida que se publican páginas Web.
Luego tenemos la anotación separada (stand-off annotation) este tipo de anotación está
escrita y archivada fuera del documento o de los objetos Web a los que refiere, se la
llama también metadata añadida (attached metadata), y se archiva en una base de datos
de metadata.
<html>
…
</html> annotation
Base de datos de datos
de metadata
Este tipo de anotación está siendo ampliamente explotada en los servicios Web para
manejar el grandes masas texto que no tienen ningún tipo de tratamiento, desde correos
electrónicos en una empresa hasta documentos internos, muchos de los motores de
búsqueda se utilizan en la intranets se valen de este tipo de anotación, que como
veremos más adelante usan a su vez algoritmos de tratamiento de lenguaje natural para
detectar sentido, como en el caso del líder del mercado análisis semántico en servicios
Web que es Autonomy.
6. Por otra parte este tipo de anotación es muy útil desde el punto de vista de la
interoperabilidad, pues no requiere ningún cambio en el interior de los objetos a los que
refiere.
Desde el punto de vista la metodología de desarrollo es llamada anotación top-down y
tiene como objetivo relevar información ya existente en el Web derivando de lo ya
publicado un mayor valor semántico.
Entre las herramientas de anotación hay algunas que están incluídas en soluciones
costosas y complejas aunque de una eficacia impresionante como la que hemos
mencionada más arriba, pero también hay otras que son más o menos gratuitas.
Agregamos un cuadro de algunas de ellas, aclarando el nombre de la herramienta, a qué
tipo de fuente se puede aplicar y qué lenguajes de metadata o de representación del
conocimiento usan.
Cuadro 1. Herramientas de anotación. (Fuente de la información de base:
www.dsi.uniroma1.it/~estrinfo/10.%20Annotazioni_Semantiche.ppt [Consultada 21-07-2009]
Traducida, revisada y adaptada.
7. Ejemplos de herramientas de anotación
1. Gans, J.(20079 Multi-scale, Multi-genome, Multi-platform Visualization
and Analysis. Los Alamos National Lab, Bioscience Division.
http://public.lanl.gov/jgans/genomorama/genomorama_doc.html
- [21-07-2009]
8. 2.
Anotación para Web Semántica. Staab, S. Handschuh, S. Authoring and
Annotation of Web Pages in CREAM.
http://www2002.org/CDROM/refereed/506/ [21-07-2009]
3.
Amaya (embedded annotation)
Fuente: http://www.w3.org/Amaya/screenshots/Overview.html. [21-07-2009]
9. 4. Video Semantic Summarization Systems
http://www.research.ibm.com/MediaStar/VideoAnn.html. [21-07-2009]
10. El procesamiento de lenguaje natural en el los motores semánticos
Las primeras experiencias de procesamiento de lenguaje natural se llevaron a cabo
mucho antes de la explosión de la Web y se proponían manipular palabras y partes de
discurso con la idea de apoyar y desarrollar los estudios lingüísticos, se lo consideraba
un poderoso auxiliar para la investigación y la evaluación de los diferentes aspectos del
lenguaje humano ya que permite estudiar grandes corpus de texto.
Más adelante en los años 60 la Inteligencia Artificial como disciplina se interesa en el
procesamiento del lenguaje natural con propósitos prácticos como la traducción
automática o la conversación de personas con máquinas.
Luego de la explosión de la Web el procesamiento de lenguaje natural es usado a la
inversa para que las máquinas puedan comprender lo que las personas escriben o
representan en los documentos, imágenes y videos.
Esta inversión de dirección es la que ahora hace que algoritmos de procesamiento del
lenguaje humano sean usados para extraer, desambiguar, etiquetar información en la
Web.
Ambas metodologías ahora se están mezclando: los motores de búsqueda necesitan que
existan muchas páginas anotadas para que la recuperación pueda realizarse, y esto
requiere un trabajo enorme si se hace en forma manual o semiautomática, entonces el
procesamiento de lenguaje natural se transforma en una ayuda valiosísima para la
anotación automática o semiautomática. Al mismo tiempo la precisión del análisis de
texto debe ser optimizado, ya que aunque los algoritmos de procesamiento de lenguaje
natural se han enriquecido mucho aún es muy difícil dar cuenta de la complejidad de las
estructuras semánticas de nuestro lenguaje.
Entonces los productos o los insumos de lenguaje natural se enriquecen por medio de
técnicas de asignación de sentido por parte de usuarios en el caso de las famosas
folksonomías o de profesionales que desarrollan lenguajes controlados de
representación de conocimiento como tesauros, clasificaciones, taxonomías y
ontologías.
Conclusión
Los buscadores en Internet se desarrollan para ofrecer no sólo la respuesta mecánica a
consultas sino también para procesar el sentido, hay dos caminos para ello y que reviven
la discusión tradicional en el análisis semántico: la extracción del contenido por medio
de procesamiento de lenguaje natural o la asignación de descriptores semánticos
pertenecientes a lenguajes controlados por medio de anotaciones.
11. En síntesis las opciones son anotación semántica en sus diferentes tipos, o análisis de
texto libre. El primer caso requiere la interacción humana y la segunda no.
En este momento estas dos alternativas no son en absoluto excluyentes porque para que
los buscadores semánticos se difundan es necesario que haya muchas páginas con
anotación semántica, pero realizarlo, aún en forma semiautomática, requiere una
extraordinaria carga de trabajo, por lo que para llevar a cabo la anotación y para cuidar
la coherencia de la misma respecto del contenido se vuelve a pensar en la técnicas de
NLP.
Complementariamente se exploran nuevas posibilidades para que los usuarios
activamente realicen anotaciones semánticas por un lado y por otro normalicen el
vocabulario en uso para favorecer la calidad de la recuperación de los algoritmos
automáticos de procesamiento automático de lenguaje natural.
En resumen nos encontramos en un momento donde es necesario pensar en sistemas
colectivos de manejo de conocimiento basados en la contribución humana lo cuales que
mejoran en la medida en que más personas participan anotando, glosando los textos,
haciendo comentarios, como hace siglos en un scriptorium monástico.
12. Bibliografía
Atanas, K. et al. (2005) Semantic Annotation, Indexing, and Retrieval. Ontotext Lab.
http://www.ontotext.com/publications/SemAIR_ISWC169.pdf [25-07-2009]
Bosch, Mela.Ontologies, (2006) Different Reasoning Strategies, Different Logics,
Different Kinds of Knowledge Representation: Working Together. Knowledge
Organization, Ergon Verlag. 33(3) 153-159. ISSN . 0943-7444 Knowl.Org.
Camon, Evelyn; Magrane, Michele; Barrell, Daniel; Lee, Vivian; Dimmer, Emily;
Maslen, John; Binns, David; Harte, Nicola; Lopez, Rodrigo. The Gene Ontology
Annotation (GOA) Database: sharing knowledge in Uniprot with Gene Ontology -
Apweiler, Rolf The Gene Ontology Annotation (GOA) database
(http://www.ebi.ac.uk/GOA [Consultada 21-07-09]
Diana Maynard (2005) Benchmarking ontology-based annotation tools for the Semantic
Web. Department of Computer Science, University of Sheffield,
UK.http://gate.ac.uk/sale/ahm05/ahm.pdf [21-07-2009]
Garcia-Castro, R.; Garcia Silva, A. Content annotation in the future web: Upgrade, Vol
10, n. 1 Feb.2009.
Good, Benjamin M ; Kawas, Edward ; Wilkinson, Mark. (2007) Bridging the gap
between social tagging and semantic annotation: E.D. the Entity Describer.
http://precedings.nature.com/documents/945/version/2/html. [21-07-2009]
Iskold, Alex. (2006) Semantic Web Patterns: A Guide to Semantic Technologies.
http://www.readwriteweb.com/archives/semantic_web_patterns_a_guide_redux.php.
[21-07-2009]
Vehvilainen, A. et al. (2006) SemiAutomatic Semantic Annotation and Authoring, Tool
for a Library Help Desk Service. Helsinki University.
http://www.seco.tkk.fi/publications/2006/vehvilainen-hyvonen-alm-semi-automatic-
semantic-annotation-and-authoring-tool.pdf [Consultada 21-07-09]