Ingeniería Informática
MÓDULO 5
Inteligencia Artificial
¿Qué es la Inteligencia Artificial?
Según Wikipedia.
• La inteligencia artificial (IA), también llamada inteligencia computacional, es la inteligencia exhibida por máquinas. En ciencias de la computación, una máquina
«inteligente» ideal es un agente racional flexible que percibe su entorno y lleva a cabo acciones que maximicen sus posibilidades de éxito en algún objetivo o tarea.
• Coloquialmente, el término inteligencia artificial se aplica cuando una máquina imita las funciones «cognitivas» que los humanos asocian con otras mentes humanas, como por ejemplo: "aprender" y "resolver problemas".
• Avances tecnológicos todavía clasificados como inteligencia artificial son los sistemas capaces de jugar ajedrez, GO y manejar por sí mismos.
Según Takeyas (2007) la IA es una rama de las ciencias computacionales encargada de estudiar modelos de cómputo capaces de realizar actividades propias de los seres humanos en base a dos de sus características primordiales: el razonamiento y la conducta.
¿Qué es la Inteligencia Artificial?
En 1956, John McCarthy acuñó la expresión «inteligencia artificial», y la definió como: "...la ciencia e ingenio de hacer máquinas inteligentes, especialmente programas de cómputo inteligentes"
Para Nils John Nilsson, son cuatro los pilares básicos en los que se apoya la inteligencia artificial:
• Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles.
• Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN).
• Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos).
• Razonamiento mediante una lógica formal análogo al pensamiento abstracto humano.
¿Qué es la Inteligencia Artificial?
Los sistemas de IA actualmente son parte en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia, como ajedrez de computador, y otros videojuegos.
Un ejemplo típico de inteligencia artificial dedicada a un sector concreto es el de los programas de ajedrez; se enfrentan a movimientos de su oponente humano que llevan a situaciones sobre el tablero que no habían sido previstas y que, como tales, no pueden ser recogidas en los algoritmos, sino que para enfrentarse a ellas se requiere de la improvisación.
Dicha improvisación se consigue a base de reglas que procesan la información captada, de forma que la decisión del movimiento depende, finalmente, de la
“comprensión” de la situación.
Definición ABC https://www.definicionabc.com/tecnologia/inteligencia-artificial.php
¿Qué es la Inteligencia Artificial?
Varios ejemplos se encuentran en el área de control de sistemas, planificación automática.
Área de control: La teoría del control es un campo interdisciplinario de la ingeniería y las matemáticas, que trata con el comportamiento de sistemas dinámicos. A la entrada de un sistema se le llama referencia. Cuando una o más variables de salida de un sistema necesitan seguir cierta referencia sobre el tiempo, un controlador manipula la entrada al sistema para obtener el efecto deseado en la salida del sistema (realimentación). La realimentación puede ser negativa (regulación autocompensatoria) o positiva (efecto "bola de nieve" o "círculo vicioso").
Wikipedia Teoría de control
¿Qué es la Inteligencia Artificial?
La planificación automática es una disciplina de la inteligencia artificial que tiene por objeto la producción de planes (un planificación), típicamente para la ejecución de un robot u otro agente. Los programas de planificación que incorporan estos algoritmos se denominan planificadores.
Un planificador típicamente considera 3 entradas:
• Una descripción del estado inicial del mundo
• Una descripción del objetivo a alcanzar
• Un conjunto de acciones posibles
Generalmente, cada acción especifica precondiciones que se deben cumplir como requisito a tal acción, así como postcondiciones, que constituyen el efecto sobre el estado actual del mundo.
Ejemplos de problemas de planificación pueden ser determinar la trayectoria de un robot en un espacio con obstáculos.
¿Qué es la Inteligencia Artificial?
Otro enfoque para acercarse al concepto de inteligencia artificial es el de las redes neuronales, en el cual algoritmos y máquinas intentan simular el comportamiento de las neuronas del cerebro humano.
A partir de los ejemplos indicados, es importante destacar que podemos encontrar diversos tipos de inteligencia artificial, como ser: sistemas que piensan como los seres humanos (se ocupan de imitar el pensamiento humano, siendo un ejemplo las redes neuronales artificiales, que justamente imitan el funcionamiento del sistema nervioso), sistemas que actúan como los humanos (son aquellos que imitan el comportamiento del hombre, el ejemplo más claro es el del robot), sistemas que piensan de modo racional (se caracterizan por imitar el pensamiento lógico de los humanos, es decir, en una cuestión concreta razonan como expertos. Se los emplea especialmente a la hora de buscar mejoras en la calidad y en la rapidez de un servicio) y sistemas que actúan de manera racional (imitan de manera racional el comportamiento de una persona, siendo capaces de percibir el entorno y actuar en consecuencia).
Definición ABC https://www.definicionabc.com/tecnologia/inteligencia-artificial.php
Impacto de la Inteligencia Artificial en el
Desarrollo de Software
Impacto de la Inteligencia Artificial en el Desarrollo de Software
• Con la IA se busca desarrollar sistemas que aprenden de sí mismos, convirtiéndose en expertos que modelan y abstraen reglas a partir de los datos que les son alimentados.
Dichos sistemas van mejorando en su precisión, se adaptan a lo desconocido y expanden sus capacidades más allá de la programación original. Las técnicas tradicionales de procesamiento de lenguaje natural (NLP), razonamiento basado en reglas y representación de conocimiento están siendo aumentadas con el machine learning —especialmente deep learning— para mejorar la IA. Los resultados preliminares son prometedores: estamos viendo surgir nuevas apps con cierta
“inteligencia” en una gran variedad de dominios.
• Con la inteligencia artificial se impacta el trabajo de los desarrolladores de software, así que es importante estar preparados. Los desarrolladores deben entender en qué consisten dichas tecnologías y cómo pueden aplicarlas, tanto en el ciclo de vida de desarrollo de software como en las aplicaciones mismas.
Impacto de la Inteligencia Artificial en el Desarrollo
de Software
¿Qué es el deep learning?
¿Qué es el deep learning?
• Aprendizaje profundo (en inglés, deep learning) es un conjunto de algoritmos de clase aprendizaje automático (en inglés, machine learning) que intenta modelar abstracciones de alto nivel en datos usando arquitecturas compuestas de transformaciones no lineales múltiples.
• El aprendizaje profundo es parte de un conjunto más amplio de métodos de aprendizaje automático basados en asimilar representaciones de datos. Una observación (por ejemplo, una imagen) puede ser representada en muchas formas (por ejemplo, un vector de píxeles), pero algunas representaciones hacen más fácil aprender tareas de interés (por ejemplo, "¿es esta imagen una cara humana?") sobre la base de ejemplos, y la investigación en este área intenta definir qué representaciones son mejores y cómo crear modelos para reconocer estas representaciones.
• Varias arquitecturas de aprendizaje profundo, como redes neuronales profundas, y redes de creencia profundas, han sido aplicadas a campos como visión por computador, reconocimiento automático del habla, y reconocimiento de señales de audio y música, y han mostrado producir resultados de vanguardia en varias tareas.
Deep learning: aplicaciones
• Las máquinas están empezando a utilizar el cerebro, muy parecido al del ser humano. Una red de neuronas artificial es una herramienta matemática que modela, de forma simplificada, el funcionamiento de las neuronas en el cerebro.
• La arquitectura es la siguiente: las neuronas se organizan en capas, donde las neuronas verdes son las entradas que reciben la información, las azules son las ocultas, que contienen cálculos intermedios de la red, y las amarillas son las salidas que contienen el resultado. Normalmente hay una capa de entrada, una de salida y varias ocultas. A más capas ocultas, más compleja es la red y mejores resultados predice, pero también es más difícil crear el modelo.
https://www.muyinteresante.es/tecnologia/preguntas-respuestas/que-es-el-deep-learning-701487764900
Deep learning: aplicaciones
• Los usos de estos algoritmos se pueden dividir en cuatro grupos: procesado de texto, reconocimiento de imágenes, reconocimiento de objetos y reconocimiento de voz.
Estos algoritmos son de gran importancia en el diseño del software en coches autónomos, detección de caras en las fotos de Facebook, o en el nuevo algoritmo de traducción de Google.
• Si estás interesado en crear tus propios modelos de redes de neuronas, una alternativa es utilizar una plataforma como H20.ai o Dato. En ellas se pueden aplicar diversos algoritmos de procesado de texto o de reconocimiento de objetos de manera relativamente sencilla. La otra alternativa es utilizar librerías como Theano, Deeplearning4j, Torch o Caffe. Aunque mi alternativa preferida para trabajar con redes de neuronas es la librería de Google, TensorFlow, la cual puede ser implementada en Python.
• Según el ciclo de Gartner para tecnologías emergentes, el aprendizaje profundo de máquinas (deep learning) es y será durante los próximos años una de las áreas que necesitará más demanda de profesionales.
¿Qué es el deep learning?
Imagen Wikipedia, enciclopedia libre
¿Qué es el Machine Learning?
¿Qué es el Machine Learning?
• El aprendizaje automático o aprendizaje de máquinas (del inglés, "Machine Learning") es una rama de la inteligencia artificial cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender. De forma más concreta, se trata de crear programas capaces de generalizar comportamientos a partir de una información suministrada en forma de ejemplos. Es, por lo tanto, un proceso de inducción del conocimiento. En muchas ocasiones el campo de actuación del aprendizaje automático se solapa con el de la estadística computacional, ya que las dos disciplinas se basan en el análisis de datos.
Sin embargo, el aprendizaje automático también se centra en el estudio de la complejidad computacional de los problemas, por lo que gran parte de la investigación realizada en aprendizaje automático está enfocada al diseño de soluciones factibles a esos problemas. El aprendizaje automático puede ser visto como un intento de automatizar algunas partes del método científico mediante métodos matemáticos.
• El aprendizaje automático tiene una amplia gama de aplicaciones, incluyendo motores de búsqueda, diagnósticos médicos, detección de fraude en el uso de tarjetas de crédito, análisis del mercado de valores, clasificación de secuencias de ADN, reconocimiento del habla y del lenguaje escrito, juegos y robótica.
¿Qué es el Big Data?
¿Qué es el Big Data?
• Big data, datos masivos, inteligencia de datos o datos a gran escala es un concepto que hace referencia a un conjuntos de datos tan grandes que aplicaciones informáticas tradicionales de procesamiento de datos no son suficientes para tratar con ellos y los procedimientos usados para encontrar patrones repetitivos dentro de esos datos.
• La disciplina dedicada a los datos masivos se enmarca en el sector de las tecnologías de la información y la comunicación. Esta disciplina se ocupa de todas las actividades relacionadas con los sistemas que manipulan grandes conjuntos de datos. Las dificultades más habituales vinculadas a la gestión de estas cantidades de datos se centran en la recolección y el almacenamiento, búsqueda, compartición, análisis, y visualización. La tendencia a manipular enormes cantidades de datos se debe a la necesidad en muchos casos de incluir dicha información para la creación de informes estadísticos y modelos predictivos utilizados en diversas materias, como los análisis de negocio, publicitarios, los datos de enfermedades infecciosas, el espionaje y seguimiento a la población o la lucha contra el crimen organizado
¿Qué es el Big Data?
• ¿De dónde provienen todos estos datos? Los fabricamos directa e indirectamente segundo tras segundo. Un iPhone hoy en día tiene más capacidad de cómputo que la NASA cuando el hombre llegó a la luna por lo que la cantidad de datos generados por persona y en unidad de tiempo es muy grande.
Catalogamos la procedencia de los datos según las siguientes categorías:
• Generados por las personas: el hecho de enviar correos electrónicos o mensajes por WhatsApp, publicar un estado en Facebook, tuitear contenidos o responder a una encuesta por la calle son cosas que hacemos a diario y que crean nuevos datos y metadatos que pueden ser analizados. Se estima que cada minuto al día se envían más de 200 millones de correos electrónicos, se comparten más de 700 000 piezas de contenido en Facebook, se realizan dos millones de búsquedas en Google o se editan 48 horas de vídeo en YouTube. Por otro lado, las trazas de utilización en un sistema ERP, incluir registros en una base de datos o introducir información en una hoja de cálculo son otras formas de generar estos datos.
¿Qué es el Big Data?
• Transacciones de datos: la facturación, las llamadas o las transacciones entre cuentas generan información que tratada puede ser datos relevantes. Un ejemplo más claro lo encontraremos en las transacciones bancarias: lo que el usuario conoce como un ingreso de X euros, la computación lo interpretará como una acción llevada a cabo en una fecha y momento determinado, en un lugar concreto, entre unos usuarios registrados, y más metadatos.
Impacto de la IA en el ciclo de desarrollo de software
A continuación se listan algunas de las posibilidades de la inteligencia artificial aplicada al desarrollo de software:
• Rápidamente convertir una idea en código. Tomar una idea de negocio e implementarla en código de software sigue siendo un gran problema, a pesar de las mejoras que ha habido en esta área gracias a los métodos ágiles y prácticas de análisis de negocio.
Imaginemos que un equipo de desarrollo pudiera simplemente describir una idea en lenguaje natural y que el sistema la entendiera y la convirtiera en código ejecutable.
Aunque eso todavía es ciencia ficción, sí es posible que por medio de procesamiento de lenguaje natural y sistemas expertos se pueden sugerir cambios y mejoras a una aplicación. La IA enriquecerá los modelos de requerimientos y casos de prueba con un reconocimiento de texto más sofisticado, resultando en mejores generadores de código.
Impacto de la IA en el ciclo de desarrollo de software
• Mejorar la precisión de estimaciones. La estimación de proyectos de software sigue siendo una actividad complicada y con baja precisión, en la cual es necesario involucrar expertos con amplio conocimiento del contexto. Imaginemos una solución para estimar software que analice datos históricos de proyectos anteriores de la empresa para encontrar estadísticas y correlaciones, y utilice analítica predictiva y reglas de negocio para proveer estimaciones más precisas de tiempo y esfuerzo.
• Acelerar la detección de defectos y soluciones. Cuando un sistema presenta fallas en producción, los equipos dedican gran cantidad de tiempo y esfuerzo a poder reproducir dichas fallas para poder localizarlas y corregirlas, y en la mayoría de los casos el equipo que hizo el desarrollo ya no se encuentra disponible. Por medio de IA se podría analizar las habilidades de la persona que escribió el código original y localizar a alguien disponible con un perfil similar.
Impacto de la IA en el ciclo de desarrollo de software
• Automatizar las decisiones de qué construir y probar a continuación. Una IA podría analizar los patrones de uso de una aplicación en producción y en base a ello decidir qué requerimiento(s) del backlog deben tener mayor prioridad, o implementarse primero.
Este análisis del comportamiento de uso también se podría utilizar para generar scripts de pruebas automatizadas.
Impacto de la IA en las aplicaciones
A las computadoras, teléfonos y dispositivos está llegando una nueva generación de aplicaciones que puede hablar, escuchar, sentir, razonar, pensar y actuar. La lista de empresas construyendo aplicaciones enriquecidas con IA crece rápidamente.
Están son algunas capacidades en las aplicaciones de nueva generación que son posibles gracias a la IA:
• Interacción natural con humanos. A lo largo de la historia del cómputo hemos tenido que interactuar con las computadoras por medio de interfaces no naturales: tarjetas perforadas, teclados, mouse, formas de captura, etcétera. La IA está habilitando que las computadoras puedan ver y escuchar a sus usuarios, además de contestar por medio de voz en lenguaje natural.
• Sistemas expertos. Codificar políticas y reglas de negocio de un dominio específico a través de lenguajes de programación tradicional es una actividad compleja e intensiva en esfuerzo. La inteligencia artificial da la opción de construir sistemas expertos enfocados a un dominio específico que puedan dar soporte a novatos en una actividad o ayudar a los gerentes en su toma de decisiones. Aunque los sistemas expertos no son nada nuevo, hasta ahora comenzaremos a ver que se hacen populares, además de que serán enriquecidos por medio de deep learning.
Impacto de la IA en las aplicaciones
Imitar capacidades humanas típicas. Una empresa brasileña de minería buscaba automatizar su proceso de inventario y para ello requería poder identificar correctamente una gran cantidad de vagones de tren. Inicialmente consideró poner etiquetas RFID en cada vagón. Sin embargo, se dio cuenta que todos los vagones ya están identificados de forma visual con letreros, así que fue mejor solución utilizar reconocimiento óptico de caracteres.
Software que aprende por sí mismo. El aprendizaje profundo combinado con big data es una de las tecnologías que provocará mayor disrupción en las aplicaciones que construimos. Será muy interesante ver qué aplicaciones estaremos construyendo próximamente cuando el aprendizaje no supervisado esté al alcance de todos.
La IA habilita nuevos tipos de aplicaciones
Con la inteligencia artificial, gradualmente se construirán tipos de aplicaciones sin precedente. Las empresas necesitan desarrollar imaginación y experiencia para construir estas aplicaciones habilitadas por IA. Las empresas adoptarán IA gradualmente. Forrester Research visualiza que este proceso tenga 3 etapas:
• Hacer las apps existentes más “conversacionales” y fluidas. En un principio, los experimentos con IA se enfocan en agregar cosas “cool” con un alcance limitado para mejorar la experiencia e interés del usuario.
• Mejorar la comprensión, razonamiento y toma de decisiones. Por medio de una combinación adecuada de datos y ontologías enriquecidas con algoritmos de machine learning, las aplicaciones tendrán la capacidad de razonar y deducir información.
• Construir apps que son algo más que apps. Las aplicaciones tradicionales de escritorio o web gradualmente darán paso a los bots y agentes inteligentes. Los desarrolladores ya no se enfocarán en programarlos sino en entrenarlos.
Impacto de la IA en el ciclo de desarrollo de software
• Las organizaciones de software necesitan desarrollar capacidades en el campo de la inteligencia artificial. La inteligencia artificial no reemplazará el trabajo de los desarrolladores, sino que lo enriquecerá. Crear aplicaciones enriquecidas por IA, así como mejorar los procesos de desarrollo por medio de IA requerirá nuevas habilidades.
• Recomiendo evitar la noción del científico de datos como este super dotado con conocimiento del dominio de negocio, habilidades matemáticas, analíticas, de programación y de gestión de infraestructura. Es más realista lograr tener personas especializadas en inteligencia artificial (matemáticos) que colaboren con personas especializadas en ingeniería de datos (programación y gestión de infraestructura).
• El proceso de desarrollo de software es candidato a ser mejorado por medio de inteligencia artificial. Sin embargo, para que esto suceda requerimos que los procesos estén definidos e instrumentados. Las organizaciones maduras ya cuentan con esto y serán las primeras en cosechar estos beneficios, que a su vez les permitirán construir mejor software con menor esfuerzo.
D. Lo Giudice et al. “How AI Will Change Software Development And Applications”. Forrester Research, octubre 2016.
Ingeniería de software en la inteligencia artificial
• Las tendencias de la ingeniería de Software son generales y abarcan muchos campos y dominios de aplicación. Por ejemplo, las versiones adaptadas del Lenguaje Unificado de Modelado (UML) ayudan a especificar dominios. Igualmente, los plugin en las arquitecturas permiten fácilmente extender modularmente las herramientas y los sistemas con características específicas en grupos de usuarios como Protege, la cual es una herramienta para el diseño y desarrollo de ontologías.
• Una ontología es una jerarquía de conceptos con atributos y relaciones, que define una terminología consensuada para definir redes semánticas de unidades de información interrelacionadas. Una ontología proporciona un vocabulario de clases y relaciones para describir un dominio. Las ontologías son usadas para capturar conocimiento sobre algún dominio de interés. Describe los conceptos del dominio, así como las relaciones que se dan entre éstos. Existen diferentes lenguajes para ontologías que proveen diversas facilidades, el más reciente estándar dado por la W3C es el OWL. Las ontologías proveen una comprensión compartida y consensuada del conocimiento de un dominio que puede ser comunicada entre personas y sistemas heterogéneos. Fueron desarrolladas en el área de Inteligencia Artificial para facilitar el intercambio y reuso del conocimiento.
Ingeniería de software en la inteligencia artificial
• El diseño y desarrollo confiable, robusto, bien elaborado en su arquitectura y fácil de extender en aplicaciones de Software o herramientas en cualquier campo exige la conformidad con principios racionales y las normas de ingeniería de software. Sistemas inteligentes, especialmente el desarrollo de Herramientas IA, no son una excepción.
Aunque la Inteligencia Artificial (IA) siempre ha sido una fuente de ideas que la ingeniería de software ha adoptado, la mayor parte de sus joyas siguen en laboratorios, disponible sólo a unos pocos profesionales de la IA. Las herramientas de IA se deberían integrar con las principales herramientas de desarrollo de software, de esa manera, llegaría a ser más conocido y utilizado.
La Web inteligente y la inteligencia artificial
• La Web inteligente es uno de los conceptos obtenidos del estudio de la inteligencia artificial. De ella surge el concepto de Web Semántica, el cual es uno de los fundamentos para la conceptualización de la información. La aparición de Internet se sitúa en 1989, cuando Tim Berners-Lee presentó su proyecto de “World Wide Web” (WWW) en el CERN (Suiza), con las características esenciales que perduran en estos días. Berners-Lee completó en 1990 el primer servidor Web y el primer cliente, y un año más tarde publicó el primer borrador de las especificaciones de HTML y HTTP.
• Desde que se lanzó al mercado el primer navegador de dominio público de Internet en 1993, se marca el momento en que la Web se da a conocer al mundo, extendiéndose primero en universidades y laboratorios y en cuestión de meses al público en general;
fue así como se inició el que sería su vertiginoso crecimiento. A partir de este momento el crecimiento de la información que se manipula en la Web se ha multiplicado y ha generado la necesidad de desarrollar sistemas capaces de buscar información que sea útil para los usuarios, pero la mayoría de estos sistemas se basan en búsqueda por palabras clave, lo que puede generar respuestas que no corresponden la las necesidades de los usuarios. La Web semántica aporta un conjunto de reglas que permite realizar búsquedas por medio de toma de decisiones e inferencia.
La Web inteligente y la inteligencia artificial
Tim Berners-Lee pensó en una red de recursos que permitiera programar agentes que navegaran la infinitud de sitios pudiendo obtener la información que necesitamos, sin tener que indicarle de dónde obtenerla o qué significado debe tener cada recurso, transformando finalmente esa información a un formato que sea fácilmente entendible por nosotros. Esa Web, que aún se encuentra en una fase de desarrollo, es lo que se conoce como la Web Semántica.
La Web Semántica se basa en dos conceptos fundamentales:
• La descripción del significado que tienen los contenidos en la Web.
• La manipulación automática de estos significados.
La descripción del significado requiere conceptos ligados a:
• La semántica, entendida como significado procesable por máquinas.
• Los metadatos, como contenedores de información semántica sobre los datos.
• Las ontologías, conjunto de términos y relaciones entre ellos que describen un dominio de aplicación concreto.
Niveles de la Web Semántica
La Web inteligente y la inteligencia artificial
En la figura se puede observar la capa Unicode, que corresponde a la universalización de los caracteres para los contenidos y lenguajes de programación, y los URI (Uniform Resource Identifi ers), que permiten identificar los recursos en la Web. Además, se utiliza el XML (eXtensible Markup Language), como lenguaje común de publicación, que permite la compatibilidad entre todo tipo de dispositivos y programas.
El RDF (Resource Description Framework) agrega el etiquetado de información semántico, que le permite a los dispositivos transmitir datos y entenderlos, para comunicarlos a otros dispositivos y a las personas; el conjunto incluye un sistema generalizado de firma y encriptación que defi ne la autoría de contenidos, fechas de modificación, permisos y accesos, entre otros.
La Web inteligente y la inteligencia artificial
Según Berner-Lee, las ontologías conforman la base central de la Web Semántica; éstas representan una visión común, compartible y reutilizable de un dominio de aplicación, y se emplea para dar significado a la estructura de información que intercambian los sistemas de información. Una ontología es esencialmente un modelo conceptual de información formal y estructurada. El nivel lógico incorpora el conjunto de reglas sobre las cuales deben trabajar los agentes para hacer uso de los datos y las capas de pruebas (proof) y confianza (trust) se encargan de la evaluación y validación de las reglas del nivel lógico.
La Web inteligente y la inteligencia artificial
Una parte importante de los antecedentes y el contexto para discutir la relación entre Web Inteligente e Inteligencia Artificial es la Web Semántica. La Web Semántica es la nueva generación de Web que permite expresar la información de manera precisa, la máquina de forma interpretables, listo para agentes de software para procesar, compartir y reutilizar, así como para comprender lo que los términos hacen referencia con el significado de los datos. Permite a las aplicaciones basadas en Web ínter operar tanto en el nivel sintáctico y semántico.
Hay una gran cantidad de lenguajes para el desarrollo de ontologías y anotaciones semánticas en las páginas Web. De un modo u otro, la mayoría de ellos están basados en XML (Extensible Markup Language), RDF (Resource Description Framework), y esquemas RDF, todos ellos desarrollados bajo la World Wide Web Consortium (W3C) y la utilización de Sintaxis de XML.