La representación del conocimiento ( KR ) tiene como objetivo modelar la información de manera estructurada para representarla formalmente como conocimiento en sistemas basados en el conocimiento, mientras que la representación y el razonamiento del conocimiento ( KRR , KR&R o KR² ) también tienen como objetivo comprender, razonar e interpretar el conocimiento. KRR se utiliza ampliamente en el campo de la inteligencia artificial (IA) con el objetivo de representar información sobre el mundo en una forma que un sistema informático pueda usar para resolver tareas complejas, como diagnosticar una condición médica o tener un diálogo en lenguaje natural . KR incorpora hallazgos de la psicología [ 1 ] sobre cómo los humanos resuelven problemas y representan el conocimiento, para diseñar formalismos que hagan que los sistemas complejos sean más fáciles de diseñar y construir. KRR también incorpora hallazgos de la lógica para automatizar varios tipos de razonamiento .
La representación del conocimiento tradicional se centra más en la representación declarativa del conocimiento. Los formalismos de representación del conocimiento relacionados incluyen principalmente vocabularios , tesauros , redes semánticas , sistemas de axiomas , marcos , reglas , programas lógicos y ontologías . Ejemplos de motores de razonamiento automatizado incluyen motores de inferencia , demostradores de teoremas , generadores de modelos y clasificadores .
En un sentido más amplio, los modelos parametrizados en el aprendizaje automático —incluidas las arquitecturas de redes neuronales como las redes neuronales convolucionales y los transformadores— también pueden considerarse una familia de formalismos de representación del conocimiento. La cuestión de qué formalismo es el más apropiado para los sistemas basados en el conocimiento ha sido durante mucho tiempo objeto de un amplio debate. Por ejemplo, Frank van Harmelen et al. analizaron la idoneidad de la lógica como formalismo de representación del conocimiento y revisaron los argumentos presentados por los antilogicistas. [ 2 ] Paul Smolensky criticó las limitaciones de los formalismos simbólicos y exploró las posibilidades de integrarlo con enfoques conexionistas. [ 3 ]
Historia
Los primeros trabajos en representación computarizada del conocimiento se centraron en solucionadores de problemas generales, como el sistema General Problem Solver (GPS), desarrollado por Allen Newell y Herbert A. Simon en 1959, y el Advice Taker, propuesto por John McCarthy también en 1959. El GPS presentaba estructuras de datos para la planificación y la descomposición. El sistema comenzaba con un objetivo, lo descomponía en subobjetivos y luego se disponía a construir estrategias para lograr cada uno de ellos. El Advisor Taker, por otro lado, proponía el uso del cálculo de predicados para implementar el razonamiento de sentido común .
Muchos de los primeros enfoques para la representación del conocimiento en Inteligencia Artificial (IA) utilizaban representaciones gráficas y redes semánticas , similares a los grafos de conocimiento actuales. En estos enfoques, la resolución de problemas era una forma de recorrido de grafos [ 4 ] o búsqueda de rutas, como en el algoritmo de búsqueda A* . Las aplicaciones típicas incluían la planificación de robots y los juegos.
Otros investigadores se centraron en el desarrollo de demostradores automáticos de teoremas para la lógica de primer orden, motivados por el uso de la lógica matemática para formalizar las matemáticas y automatizar la demostración de teoremas matemáticos. Un paso importante en esta dirección fue el desarrollo del método de resolución por John Alan Robinson .
Mientras tanto, John McCarthy y Pat Hayes desarrollaron el cálculo de situaciones como una representación lógica del conocimiento de sentido común sobre las leyes de causa y efecto. Cordell Green , a su vez, demostró cómo realizar la formación de planes de robots aplicando la resolución al cálculo de situaciones. También demostró cómo utilizar la resolución para la respuesta a preguntas y la programación automática . [ 5 ]
Por el contrario, los investigadores del Instituto Tecnológico de Massachusetts (MIT) rechazaron el paradigma del procedimiento de prueba uniforme de resolución y abogaron en su lugar por la incrustación procedimental del conocimiento. [ 6 ] El conflicto resultante entre el uso de representaciones lógicas y el uso de representaciones procedimentales se resolvió a principios de la década de 1970 con el desarrollo de la programación lógica y Prolog , utilizando la resolución SLD para tratar las cláusulas de Horn como procedimientos de reducción de objetivos.
El desarrollo inicial de la programación lógica fue en gran medida un fenómeno europeo. En Norteamérica, investigadores de IA como Ed Feigenbaum y Frederick Hayes-Roth abogaron por la representación del conocimiento específico del dominio en lugar del razonamiento de propósito general. [ 7 ]
Estos esfuerzos condujeron a la revolución cognitiva en psicología y a la fase de la IA centrada en la representación del conocimiento, que dio lugar a los sistemas expertos en las décadas de 1970 y 1980, sistemas de producción , lenguajes de marcos , etc. En lugar de solucionadores de problemas generales, la IA cambió su enfoque hacia sistemas expertos que pudieran igualar la competencia humana en una tarea específica, como el diagnóstico médico. [ 8 ]
Los sistemas expertos nos proporcionaron la terminología que aún se utiliza hoy en día, donde los sistemas de IA se dividen en una base de conocimiento , que incluye hechos y reglas sobre un dominio de problemas, y un motor de inferencia , que aplica el conocimiento de la base de conocimiento para responder preguntas y resolver problemas en dicho dominio. En estos primeros sistemas, los hechos de la base de conocimiento tendían a tener una estructura bastante plana, esencialmente afirmaciones sobre los valores de las variables utilizadas por las reglas. [ 9 ]
Mientras tanto, Marvin Minsky desarrolló el concepto de marco a mediados de la década de 1970. [ 10 ] Un marco es similar a una clase de objeto: es una descripción abstracta de una categoría que describe cosas en el mundo, problemas y posibles soluciones. Los marcos se utilizaron originalmente en sistemas orientados a la interacción humana, por ejemplo, la comprensión del lenguaje natural y los entornos sociales en los que diversas expectativas predeterminadas, como pedir comida en un restaurante, reducen el espacio de búsqueda y permiten que el sistema elija respuestas apropiadas a situaciones dinámicas.
No pasó mucho tiempo antes de que las comunidades de marcos y los investigadores basados en reglas se dieran cuenta de que existía una sinergia entre sus enfoques. Los marcos eran buenos para representar el mundo real, descrito como clases, subclases y ranuras (valores de datos) con diversas restricciones sobre los valores posibles. Las reglas eran buenas para representar y utilizar lógica compleja, como el proceso para realizar un diagnóstico médico. Se desarrollaron sistemas integrados que combinaban marcos y reglas. Uno de los más potentes y conocidos fue el Knowledge Engineering Environment (KEE) de Intellicorp , lanzado en 1983. KEE tenía un motor de reglas completo con encadenamiento hacia adelante y hacia atrás . También tenía una base de conocimiento completa basada en marcos con disparadores, ranuras (valores de datos), herencia y paso de mensajes. Aunque el paso de mensajes se originó en la comunidad orientada a objetos y no en la IA, fue rápidamente adoptado también por los investigadores de IA en entornos como KEE y en los sistemas operativos para máquinas Lisp de Symbolics , Xerox y Texas Instruments . [ 11 ]
La integración de marcos, reglas y programación orientada a objetos fue impulsada significativamente por iniciativas comerciales como KEE y Symbolics, derivadas de diversos proyectos de investigación. Al mismo tiempo, existía otra línea de investigación menos centrada en lo comercial, impulsada por la lógica matemática y la demostración automática de teoremas. Uno de los lenguajes más influyentes en esta investigación fue KL-ONE, de mediados de los años 80. KL-ONE era un lenguaje de marcos con una semántica rigurosa y definiciones formales para conceptos como la relación "es un" . [ 12 ] KL-ONE y los lenguajes influenciados por él, como Loom, contaban con un motor de razonamiento automatizado basado en lógica formal en lugar de reglas condicionales (SI-ENTONCES). Este motor de razonamiento se denomina clasificador. Un clasificador puede analizar un conjunto de declaraciones e inferir nuevas afirmaciones; por ejemplo, redefinir una clase como subclase o superclase de otra clase no especificada formalmente. De esta manera, el clasificador puede funcionar como un motor de inferencia, deduciendo nuevos hechos a partir de una base de conocimiento existente. El clasificador también puede proporcionar una verificación de consistencia en una base de conocimiento (que en el caso de los lenguajes KL-ONE también se denomina ontología). [ 13 ]
Otra área de investigación sobre la representación del conocimiento fue el problema del razonamiento de sentido común . Una de las primeras conclusiones obtenidas al intentar crear software que funcionara con el lenguaje natural humano fue que los humanos recurren regularmente a una extensa base de conocimiento sobre el mundo real que simplemente damos por sentado, pero que no es en absoluto obvia para un agente artificial, como los principios básicos de la física de sentido común, la causalidad, las intenciones, etc. Un ejemplo es el problema del marco , que en una lógica orientada a eventos debe haber axiomas que establezcan que las cosas mantienen su posición de un momento a otro a menos que sean movidas por alguna fuerza externa. Para crear un verdadero agente de inteligencia artificial que pueda conversar con humanos usando lenguaje natural y que pueda procesar afirmaciones y preguntas básicas sobre el mundo, es esencial representar este tipo de conocimiento. [ 14 ] Además del cálculo de situaciones de McCarthy y Hayes, uno de los programas más ambiciosos para abordar este problema fue el proyecto Cyc de Doug Lenat . Cyc estableció su propio lenguaje de marcos y contó con un gran número de analistas que documentaron varias áreas del razonamiento de sentido común en ese lenguaje. El conocimiento registrado en Cyc incluía modelos de sentido común sobre el tiempo, la causalidad, la física, las intenciones y muchos otros. [ 15 ]
El punto de partida para la representación del conocimiento es la hipótesis de representación del conocimiento formalizada por primera vez por Brian C. Smith en 1985: [ 16 ]
Cualquier proceso inteligente incorporado mecánicamente estará compuesto de ingredientes estructurales que a) nosotros, como observadores externos, tomamos naturalmente para representar una explicación proposicional del conocimiento que exhibe el proceso general, y b) independientemente de dicha atribución semántica externa, juegan un papel formal pero causal y esencial en la generación del comportamiento que manifiesta ese conocimiento.
Una de las áreas más activas de investigación en representación del conocimiento es la Web Semántica . La Web Semántica busca añadir una capa de semántica (significado) a la Internet actual. En lugar de indexar sitios y páginas web mediante palabras clave, la Web Semántica crea grandes ontologías de conceptos. La búsqueda de un concepto será más eficaz que las búsquedas tradicionales basadas únicamente en texto. Los lenguajes de marco y la clasificación automática desempeñan un papel fundamental en la visión de la futura Web Semántica. La clasificación automática proporciona a los desarrolladores la tecnología necesaria para organizar una red de conocimiento en constante evolución. Definir ontologías estáticas e incapaces de evolucionar dinámicamente sería muy limitante para los sistemas basados en Internet. La tecnología de clasificación permite gestionar el entorno dinámico de Internet.
Proyectos recientes financiados principalmente por la Agencia de Proyectos de Investigación Avanzada de Defensa (DARPA) han integrado lenguajes de marcos y clasificadores con lenguajes de marcado basados en XML. El Marco de Descripción de Recursos (RDF) proporciona la capacidad básica para definir clases, subclases y propiedades de objetos. El Lenguaje de Ontología Web (OWL) proporciona niveles adicionales de semántica y permite la integración con motores de clasificación. [ 17 ] [ 18 ]
Descripción general
La representación del conocimiento es un campo de la inteligencia artificial que se centra en el diseño de representaciones informáticas que capturan información sobre el mundo y que pueden utilizarse para resolver problemas complejos.
La justificación para la representación del conocimiento radica en que el código procedimental convencional no es el formalismo más adecuado para resolver problemas complejos. La representación del conocimiento facilita la definición y el mantenimiento de software complejo en comparación con el código procedimental, y puede utilizarse en sistemas expertos .
Por ejemplo, hablar con expertos en términos de reglas de negocio en lugar de código reduce la brecha semántica entre usuarios y desarrolladores y hace que el desarrollo de sistemas complejos sea más práctico.
La representación del conocimiento va de la mano con el razonamiento automatizado, ya que uno de los principales propósitos de representar explícitamente el conocimiento es poder razonar sobre él, hacer inferencias, afirmar nuevos conocimientos, etc. Prácticamente todos los lenguajes de representación del conocimiento incluyen un motor de razonamiento o inferencia como parte del sistema. [ 19 ]
Una disyuntiva clave en el diseño de formalismos de representación del conocimiento es la que existe entre expresividad y manejabilidad. [ 20 ] La lógica de primer orden (FOL), con su alto poder expresivo y su capacidad para formalizar gran parte de las matemáticas, es un estándar para comparar la expresividad de los lenguajes de representación del conocimiento.
Podría decirse que la lógica de primer orden (FOL) presenta dos inconvenientes como formalismo de representación del conocimiento: la facilidad de uso y la eficiencia de implementación. En primer lugar, debido a su gran capacidad expresiva, la FOL permite múltiples formas de expresar la misma información, lo que puede dificultar a los usuarios la formalización e incluso la comprensión del conocimiento expresado de manera compleja y matemáticamente orientada. En segundo lugar, debido a sus complejos procedimientos de demostración, puede resultar difícil para los usuarios comprender demostraciones y explicaciones complejas, y la eficiencia de las implementaciones puede verse comprometida. En consecuencia, la FOL sin restricciones puede resultar intimidante para muchos desarrolladores de software.
Uno de los descubrimientos clave de la investigación en IA en la década de 1970 fue que los lenguajes que no poseen la potencia expresiva completa de la lógica de primer orden (LPO) aún pueden proporcionar una potencia expresiva casi idéntica, pero pueden ser más fáciles de entender tanto para el desarrollador promedio como para la computadora. Muchos de los primeros formalismos de representación del conocimiento en IA, desde bases de datos hasta redes semánticas y sistemas de producción, pueden considerarse como la toma de diversas decisiones de diseño sobre cómo equilibrar la potencia expresiva con la naturalidad de la expresión y la eficiencia. [ 21 ] En particular, este equilibrio fue una motivación fundamental para el desarrollo de reglas IF-THEN en sistemas expertos basados en reglas .
Un equilibrio similar motivó también el desarrollo de la programación lógica (PL) y del lenguaje de programación lógica Prolog . Los programas lógicos tienen una sintaxis basada en reglas, que se confunde fácilmente con la sintaxis IF-THEN de las reglas de producción . Sin embargo, los programas lógicos poseen una semántica lógica bien definida, a diferencia de los sistemas de producción.
La forma más primitiva de programación lógica se basaba en el subconjunto de cláusulas de Horn de la lógica de primer orden (LPO). Sin embargo, extensiones posteriores de la programación lógica incluyeron la negación como regla de inferencia de fallo, lo que la convierte en una lógica no monótona para el razonamiento por defecto . La semántica extendida resultante de la programación lógica es una variación de la semántica estándar de las cláusulas de Horn y la LPO, y constituye una forma de semántica de bases de datos [ 22 ] , que incluye la suposición de nombre único y una forma de suposición de mundo cerrado . Estas suposiciones son mucho más difíciles de enunciar y razonar explícitamente utilizando la semántica estándar de la LPO.
En un artículo clave de 1993 sobre el tema, Randall Davis del MIT describió cinco roles distintos para analizar un marco de representación del conocimiento: [ 23 ]
- "Una representación del conocimiento (RC) es fundamentalmente un sustituto, un sustituto de la cosa misma, utilizado para permitir que una entidad determine las consecuencias pensando en lugar de actuando," [ 23 ] es decir, "razonando sobre el mundo en lugar de actuar en él." [ 23 ]
- "Es un conjunto de compromisos ontológicos", [ 23 ] es decir, "una respuesta a la pregunta: ¿En qué términos debo pensar sobre el mundo?" [ 23 ]
- "Es una teoría fragmentaria del razonamiento inteligente, expresada en términos de tres componentes: (i) la concepción fundamental de la representación sobre el razonamiento inteligente; (ii) el conjunto de inferencias que la representación sanciona; y (iii) el conjunto de inferencias que recomienda." [ 23 ]
- "Es un medio para la computación pragmáticamente eficiente", [ 23 ] es decir, "el entorno computacional en el que se lleva a cabo el pensamiento. Una contribución a esta eficiencia pragmática la proporciona la guía que una representación ofrece para organizar la información" [ 23 ] para "facilitar la realización de las inferencias recomendadas". [ 23 ]
- "Es un medio de expresión humana", [ 23 ] es decir, "un lenguaje en el que decimos cosas sobre el mundo". [ 23 ]
La representación del conocimiento y el razonamiento son tecnologías clave para la Web Semántica . Los lenguajes basados en el modelo Frame con clasificación automática proporcionan una capa de semántica sobre la Internet existente. En lugar de buscar mediante cadenas de texto, como es habitual hoy en día, será posible definir consultas lógicas y encontrar páginas que se correspondan con dichas consultas. [ 17 ] El componente de razonamiento automatizado en estos sistemas es un motor conocido como clasificador. Los clasificadores se centran en las relaciones de subsunción en una base de conocimiento, en lugar de en las reglas. Un clasificador puede inferir nuevas clases y modificar dinámicamente la ontología a medida que se dispone de nueva información. Esta capacidad es ideal para el espacio de información de Internet, en constante cambio y evolución. [ 24 ]
La Web Semántica integra conceptos de representación del conocimiento y razonamiento con lenguajes de marcado basados en XML. El Marco de Descripción de Recursos (RDF) proporciona las capacidades básicas para definir objetos basados en el conocimiento en Internet con características básicas como relaciones "es un" y propiedades de objeto. El Lenguaje de Ontología Web (OWL) añade semántica adicional y se integra con sistemas de razonamiento de clasificación automática. [ 18 ]
Características
En 1985, Ron Brachman clasificó los problemas centrales para la representación del conocimiento de la siguiente manera: [ 25 ]
- Primitivas. ¿Cuál es el marco subyacente utilizado para representar el conocimiento? Las redes semánticas fueron una de las primeras primitivas de representación del conocimiento. También, estructuras de datos y algoritmos para búsqueda rápida general. En este ámbito, existe una fuerte superposición con la investigación en estructuras de datos y algoritmos en informática. En los primeros sistemas, el lenguaje de programación Lisp, modelado a partir del cálculo lambda , se utilizaba a menudo como una forma de representación funcional del conocimiento. Los marcos y las reglas fueron el siguiente tipo de primitiva. Los lenguajes de marcos tenían varios mecanismos para expresar y aplicar restricciones a los datos de los marcos. Todos los datos en los marcos se almacenan en ranuras. Las ranuras son análogas a las relaciones en el modelado entidad-relación y a las propiedades de los objetos en el modelado orientado a objetos. Otra técnica para las primitivas es definir lenguajes modelados a partir de la lógica de primer orden (FOL). El ejemplo más conocido es Prolog , pero también existen muchos entornos de demostración de teoremas de propósito especial. Estos entornos pueden validar modelos lógicos y deducir nuevas teorías a partir de modelos existentes. En esencia, automatizan el proceso que seguiría un lógico al analizar un modelo. La tecnología de demostración de teoremas ha tenido algunas aplicaciones prácticas específicas en el ámbito de la ingeniería de software. Por ejemplo, es posible demostrar que un programa de software se ajusta rigurosamente a una especificación lógica formal.
- Metarrepresentación. También conocida como reflexión en informática, se refiere a la capacidad de un formalismo para acceder a información sobre su propio estado. Un ejemplo es el protocolo de metaobjetos en Smalltalk y CLOS , que proporciona a los desarrolladores acceso en tiempo de ejecución a los objetos de clase y les permite redefinir dinámicamente la estructura de la base de conocimiento incluso en tiempo de ejecución. Metarrepresentación significa que el lenguaje de representación del conocimiento se expresa en dicho lenguaje. Por ejemplo, en la mayoría de los entornos basados en marcos, todos los marcos serían instancias de una clase de marco. Este objeto de clase puede inspeccionarse en tiempo de ejecución, de modo que el objeto pueda comprender e incluso modificar su estructura interna o la de otras partes del modelo. En entornos basados en reglas, las reglas también solían ser instancias de clases de reglas. Parte del metaprotocolo para reglas eran las metareglas que priorizaban la ejecución de las reglas.
- Incompletitud . La lógica tradicional requiere axiomas y restricciones adicionales para abordar el mundo real, a diferencia del mundo de las matemáticas. Además, suele ser útil asociar grados de confianza a una afirmación; es decir, no simplemente decir "Sócrates es humano", sino más bien "Sócrates es humano con un 50 % de confianza". Esta fue una de las primeras innovaciones de la investigación en sistemas expertos que se incorporó a algunas herramientas comerciales: la capacidad de asociar factores de certeza con reglas y conclusiones. La investigación posterior en este campo se conoce como lógica difusa . [ 26 ]
- Definiciones y universales frente a hechos y supuestos. Los universales son afirmaciones generales sobre el mundo, como «Todos los seres humanos son mortales». Los hechos son ejemplos específicos de universales, como «Sócrates era humano y, por lo tanto, mortal». En términos lógicos, las definiciones y los universales se refieren a la cuantificación universal, mientras que los hechos y los supuestos se refieren a cuantificaciones existenciales . Todas las formas de representación del conocimiento deben abordar este aspecto, y la mayoría lo hace mediante alguna variante de la teoría de conjuntos, modelando los universales como conjuntos y subconjuntos, y las definiciones como elementos de dichos conjuntos.
- Razonamiento no monótono . El razonamiento no monótono permite diversos tipos de razonamiento hipotético. El sistema asocia los hechos afirmados con las reglas y los hechos utilizados para justificarlos, y a medida que esos hechos cambian, también actualiza el conocimiento dependiente. En los sistemas basados en reglas, esta capacidad se conoce como sistema de mantenimiento de la verdad . [ 27 ]
- Adecuación expresiva . El estándar que Brachman y la mayoría de los investigadores de IA utilizan para medir la adecuación expresiva suele ser la lógica de primer orden (LPO). Las limitaciones teóricas implican que una implementación completa de la LPO no es práctica. Los investigadores deben tener claro cuán expresiva (cuánto poder expresivo de la LPO completa) pretenden que sea su representación. [ 28 ]
- Eficiencia de razonamiento. Esto se refiere a la eficiencia de ejecución de un sistema: la capacidad de la base de conocimiento para actualizarse y del razonador para generar nuevas inferencias en un tiempo razonable. En cierto modo, esto es la otra cara de la adecuación expresiva. En general, cuanto más potente sea una representación, mayor será su adecuación expresiva y menos eficiente será su motor de razonamiento automatizado . La eficiencia solía ser un problema, especialmente en las primeras aplicaciones de la tecnología de representación del conocimiento. Estas se implementaban generalmente en entornos interpretados como Lisp, que eran lentos en comparación con las plataformas más tradicionales de la época.
Extracción de conocimiento
La extracción de conocimiento consiste en la creación de conocimiento a partir de fuentes estructuradas ( bases de datos relacionales , XML ) y no estructuradas ( texto , documentos, imágenes ). El conocimiento resultante debe estar en un formato legible e interpretable por máquina y debe representarlo de manera que facilite la inferencia. Si bien es metodológicamente similar a la extracción de información (EI) en el procesamiento del lenguaje natural (PLN) y a la extracción, transformación y carga (ETL), el criterio principal es que el resultado de la extracción va más allá de la creación de información estructurada o la transformación en un esquema relacional . Requiere la reutilización de conocimiento formal existente (reutilizando identificadores u ontologías ) o la generación de un esquema basado en los datos de origen.
El grupo RDB2RDF del W3C [ 29 ] estaba estandarizando un lenguaje para la extracción de marcos de descripción de recursos (RDF) de bases de datos relacionales . Otro ejemplo popular de extracción de conocimiento es la transformación de Wikipedia en datos estructurados y también el mapeo al conocimiento existente (ver DBpedia y Freebase ).
Ingeniería de ontologías
En los primeros años de los sistemas basados en el conocimiento, las bases de conocimiento eran bastante pequeñas. Aquellas que debían resolver problemas reales, en lugar de realizar demostraciones de concepto, debían centrarse en problemas bien definidos. Por ejemplo, no solo en el diagnóstico médico en general, sino en el diagnóstico de ciertos tipos de enfermedades.
A medida que la tecnología basada en el conocimiento se expandía, se hizo evidente la necesidad de bases de conocimiento más grandes y modulares que pudieran comunicarse e integrarse entre sí. Esto dio origen a la disciplina de la ingeniería de ontologías, que consiste en diseñar y construir grandes bases de conocimiento que puedan ser utilizadas por múltiples proyectos. Uno de los proyectos de investigación más importantes en este campo fue el proyecto Cyc . Cyc fue un intento de construir una enorme base de conocimiento enciclopédica que contuviera no solo conocimiento experto, sino también conocimiento de sentido común. Al diseñar un agente de inteligencia artificial, pronto se comprendió que representar el conocimiento de sentido común, el conocimiento que los humanos simplemente dan por sentado, era esencial para crear una IA que pudiera interactuar con los humanos utilizando el lenguaje natural. Cyc se propuso abordar este problema. El lenguaje que definieron se conoció como CycL .
Tras CycL, se han desarrollado varios lenguajes de ontología . La mayoría son lenguajes declarativos , basados en marcos o en lógica de primer orden . La modularidad —la capacidad de definir límites en torno a dominios y espacios de problemas específicos— es esencial para estos lenguajes, ya que, como afirma Tom Gruber , «toda ontología es un tratado: un acuerdo social entre personas con un motivo común de compartir». Siempre existen muchas visiones contrapuestas y divergentes que imposibilitan cualquier ontología de propósito general. Una ontología de propósito general debería ser aplicable en cualquier dominio y requerir la unificación de diferentes áreas del conocimiento. [ 30 ]
Existe una larga trayectoria de trabajo que intenta construir ontologías para diversos dominios de tareas, por ejemplo, una ontología para líquidos, [ 31 ] el modelo de elementos concentrados ampliamente utilizado para representar circuitos electrónicos (por ejemplo, [ 32 ] ), así como ontologías para el tiempo, las creencias e incluso la programación misma. Cada una de ellas ofrece una forma de ver alguna parte del mundo.
El modelo de elementos concentrados, por ejemplo, sugiere que pensemos en los circuitos como componentes con conexiones entre ellos, donde las señales fluyen instantáneamente a través de dichas conexiones. Esta es una perspectiva útil, pero no la única posible. Surge una ontología diferente si necesitamos considerar la electrodinámica del dispositivo: en este caso, las señales se propagan a velocidad finita y un objeto (como una resistencia) que antes se consideraba un componente único con un comportamiento de entrada/salida, ahora debe concebirse como un medio extendido a través del cual fluye una onda electromagnética.
Las ontologías pueden, por supuesto, escribirse en una amplia variedad de lenguajes y notaciones (por ejemplo, lógica, LISP, etc.); lo esencial no es la forma del lenguaje, sino el contenido, es decir, el conjunto de conceptos que se ofrecen como una forma de concebir el mundo. En resumen, lo importante son nociones como conexiones y componentes, no la elección entre escribirlas como predicados o como construcciones de LISP.
Véase también
- Alfabeto del pensamiento humano : lenguaje hipotético creado por Gottfried Wilhelm Leibniz.
- Revisión de creencias : proceso de cambiar las creencias para tener en cuenta una nueva información.
- Agrupación (psicología) – Proceso de psicología cognitiva
- Base de conocimientos de sentido común : hechos que se dan por conocidos por todos los seres humanos.
- Grafo conceptual : formalismo para la representación del conocimiento.
- Pirámide DIKW : jerarquía de datos, información, conocimiento y sabiduría.
- DATR , un lenguaje para la representación del conocimiento léxico
- FO(.) , un lenguaje KR basado en lógica de primer orden.
- Grafo de conocimiento : tipo de base de conocimiento
- Gestión del conocimiento : Procesamiento del conocimiento para lograr los objetivos organizacionales.
- Programación lógica : paradigma de programación basado en la lógica formal.
- Modelado lógico-lingüístico
- Mapa mental : diagrama para organizar visualmente la información.
- Tecnología semántica : tecnología para ayudar a las máquinas a comprender los datos.
- Sistema basado en la valoración
Referencias
- ↑ Schank, Roger; Abelson, Robert (1977). Guiones, planes, objetivos y comprensión: una investigación sobre las estructuras del conocimiento humano . Lawrence Erlbaum Associates, Inc.
- ↑ Porter, Bruce; Lifschitz, Vladimir; Van Harmelen, Frank (2008). Manual de representación del conocimiento . Fundamentos de la inteligencia artificial (1.ª ed.). Ámsterdam Boston: Elsevier. ISBN 978-0-444-52211-5.
- ↑ Smolensky, Paul (marzo de 1988). "Sobre el tratamiento adecuado del conexionismo" . Behavioral and Brain Sciences . 11 (1): 1– 23. doi : 10.1017/S0140525X00052432 . ISSN 0140-525X .
- ↑ Doran, JE; Michie, D. (1966-09-20). "Experimentos con el programa Graph Traverser". Proc. R. Soc. Lond. A . 294 (1437): 235– 259. Bibcode : 1966RSPSA.294..235D . doi : 10.1098/rspa.1966.0205 . S2CID 21698093 .
- ↑ Green, Cordell. Aplicación de la demostración de teoremas a la resolución de problemas (PDF) . IJCAI 1969.
- ↑ Hewitt, C., 2009. Inconsistencia robusta en programas lógicos. Preimpresión de arXiv arXiv:0904.3036.
- ↑ Kowalski, Robert (1986). "La limitación de la lógica" . Actas de la decimocuarta conferencia anual de la ACM sobre informática de 1986 - CSC '86 . págs. 7-13 . doi : 10.1145/324634.325168 . ISBN 0-89791-177-6. S2CID 17211581 .
- ↑ Nilsson, Nils (1995). "Eye on the Prize". AI Magazine . 16 :2.
- ↑ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems . Addison-Wesley. ISBN 978-0-201-10686-2.
- ↑ Marvin Minsky, Un marco para representar el conocimiento. Archivado el 7 de enero de 2021 en Wayback Machine , Memorando 306 del Laboratorio de IA del MIT, junio de 1974.
- ↑ Mettrey, William (1987). "Una evaluación de herramientas para construir grandes sistemas basados en el conocimiento" . AI Magazine . 8 (4). Archivado del original el 10 de noviembre de 2013. Recuperado el 24 de diciembre de 2013 .
- ↑ Brachman, Ron (1978). "Un paradigma estructural para representar el conocimiento" (PDF) . Informe técnico de Bolt, Beranek y Neumann (3605). Archivado (PDF) del original el 30 de abril de 2020.
- ↑ MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripción para mejorar la representación del conocimiento". IEEE Expert . 6 (3): 41– 46. Bibcode : 1991IExp....6...41M . doi : 10.1109/64.87683 . S2CID 29575443 .
- ↑ McCarthy, J., y Hayes, PJ 1969. "Algunos problemas filosóficos desde el punto de vista de la inteligencia artificial" (PDF) . Archivado del original el 25 de agosto de 2013. Recuperado el 18 de enero de 2024 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) . En Meltzer, B., y Michie, D., eds., Machine Intelligence 4. Edimburgo: Edinburgh University Press. 463–502. - ↑ Lenat, Doug; RV Guha (enero de 1990). Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project . Addison-Wesley. ISBN 978-0201517521.
- ↑ Smith, Brian C. (1985). «Prólogo a Reflexiones y semántica en un lenguaje procedimental» . En Ronald Brachman y Hector J. Levesque (eds.). Lecturas sobre representación del conocimiento . Morgan Kaufmann. pp. 31–40 . ISBN 978-0-934613-01-9.
- 1 2 Berners-Lee, Tim; Hendler, James; Lassila, Ora (17 de mayo de 2001). «La Web Semántica: una nueva forma de contenido web con significado para las computadoras desatará una revolución de nuevas posibilidades» . Scientific American . 284 (5): 34– 43. doi : 10.1038/scientificamerican0501-34 . Archivado del original el 24 de abril de 2013.
- 1 2 Knublauch, Holger; Oberle, Daniel; Tetlow, Phil; Wallace, Evan (2006-03-09). "Una introducción a la web semántica para desarrolladores de software orientados a objetos" . W3C . Archivado del original el 2018-01-06 . Recuperado el 2008-07-30 .
- ↑ Hayes-Roth, Frederick; Waterman, Donald; Lenat, Douglas (1983). Building Expert Systems . Addison-Wesley. pp. 6–7 . ISBN 978-0-201-10686-2.
- ↑ Levesque, HJ y Brachman, RJ, 1987. Expresividad y manejabilidad en la representación del conocimiento y el razonamiento 1. Inteligencia computacional, 3(1), pp.78-93.
- ↑ Levesque, Hector; Brachman, Ronald (1985). «Una disyuntiva fundamental en la representación del conocimiento y el razonamiento» . En Ronald Brachman y Hector J. Levesque (eds.). Lecturas sobre representación del conocimiento . Morgan Kaufmann. pág . 49. ISBN 978-0-934613-01-9
La buena noticia de reducir el servicio de KR a la demostración de teoremas es que ahora tenemos una noción muy clara y específica de lo que debería hacer el sistema KR; la mala noticia es que también está claro que los servicios no se pueden proporcionar... decidir si una oración en FOL es o no un teorema... es irresoluble
. - ↑ Russell, Stuart J.; Norvig , Peter. (2021). Inteligencia artificial: un enfoque moderno (4.ª ed.). Hoboken: Pearson. pág. 282. ISBN 978-0134610993. LCCN 20190474 .
- 1 2 3 4 5 6 7 8 9 10 11 Davis, Randall; Shrobe, Howard; Szolovits, Peter (Primavera de 1993). "¿Qué es una representación del conocimiento?" . AI Magazine . 14 (1): 17– 33. Archivado del original el 6 de abril de 2012. Recuperado el 23 de marzo de 2011 .
- ↑ Macgregor, Robert (13 de agosto de 1999). "Retrospectiva sobre Loom" . isi.edu . Instituto de Ciencias de la Información. Archivado del original el 25 de octubre de 2013. Recuperado el 10 de diciembre de 2013 .
- ↑ Brachman, Ron (1985). «Introducción». En Brachman, Ronald; Levesque, Hector J. (eds.). Lecturas sobre representación del conocimiento . Morgan Kaufmann. pp. XVI– XVII. ISBN 978-0-934613-01-9.
- ↑ Bih, Joseph (2006). "Cambio de paradigma: una introducción a la lógica difusa" ( PDF) . IEEE Potentials . 25 (1): 6–21 . Bibcode : 2006IPot...25a...6B . doi : 10.1109/MP.2006.1635021 . S2CID 15451765. Archivado (PDF) del original el 12 de junio de 2014. Recuperado el 24 de diciembre de 2013 .
- ↑ Zlatarva, Nellie (1992). "Sistemas de mantenimiento de la verdad y su aplicación para verificar bases de conocimiento de sistemas expertos". Artificial Intelligence Review . 6 : 67–110 . doi : 10.1007/bf00155580 . S2CID 24696160 .
- ↑ Levesque, Hector; Brachman, Ronald (1985). «Una disyuntiva fundamental en la representación del conocimiento y el razonamiento» . En Ronald Brachman y Hector J. Levesque (eds.). Lecturas sobre representación del conocimiento . Morgan Kaufmann. pp. 41–70 . ISBN 978-0-934613-01-9.
- ↑ Grupo de trabajo RDB2RDF, sitio web: http://www.w3.org/2001/sw/rdb2rdf/ , estatuto: http://www.w3.org/2009/08/rdb2rdf-charter , R2RML: lenguaje de mapeo de RDB a RDF: http://www.w3.org/TR/r2rml/
- ↑ Russell, Stuart J.; Norvig, Peter (2010), Inteligencia artificial: un enfoque moderno (3.ª ed.), Upper Saddle River, Nueva Jersey: Prentice Hall, ISBN 0-13-604259-7págs. 437-439
- ↑ Hayes P, Física ingenua I: Ontología para líquidos. Informe de la Universidad de Essex, 1978, Essex, Reino Unido.
- ↑ Davis R, Shrobe HE, Representación de la estructura y el comportamiento del hardware digital, IEEE Computer, Número especial sobre representación del conocimiento, 16(10):75-82.
Lecturas adicionales
- Ronald J. Brachman ; Qué es y qué no es IS-A. Un análisis de los vínculos taxonómicos en redes semánticas ; IEEE Computer, 16 (10); octubre de 1983
- Ronald J. Brachman , Hector J. Levesque, Representación del conocimiento y razonamiento , Morgan Kaufmann, 2004 ISBN 978-1-55860-932-7
- Ronald J. Brachman , Hector J. Levesque (eds.) Lecturas sobre representación del conocimiento , Morgan Kaufmann, 1985, ISBN 0-934613-01-X
- Chein, M., Mugnier, M.-L. (2009), Representación del conocimiento basada en grafos: Fundamentos computacionales de los grafos conceptuales , Springer, 2009, ISBN 978-1-84800-285-2.
- Randall Davis, Howard Shrobe y Peter Szolovits; ¿Qué es una representación del conocimiento? Revista de IA, 14(1):17-33, 1993
- Ronald Fagin , Joseph Y. Halpern , Yoram Moses , Moshe Y. Vardi, Razonamiento sobre el conocimiento , MIT Press, 1995, ISBN 0-262-06162-7
- Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Comprensión de las implementaciones de las relaciones IS-A . ER 1996: 42-57
- Hermann Helbig: Representación del conocimiento y semántica del lenguaje natural , Springer, Berlín, Heidelberg, Nueva York, 2006
- Frank van Harmelen, Vladimir Lifschitz y Bruce Porter: Manual de representación del conocimiento 2007.
- Arthur B. Markman: Representación del conocimiento. Lawrence Erlbaum Associates, 1998.
- John F. Sowa : Representación del conocimiento : Fundamentos lógicos, filosóficos y computacionales. Brooks/Cole: Nueva York, 2000.
- Adrian Walker, Michael McCord, John F. Sowa y Walter G. Wilson: Sistemas de conocimiento y Prolog , Segunda edición, Addison-Wesley, 1990
- Mary-Anne Williams y Hans Rott: "Fronteras en la revisión de creencias", Kluwer, 2001.
Enlaces externos
- ¿Qué es una representación del conocimiento? por Randall Davis y otros
- Introducción al modelado del conocimiento por Pejman Makhfi
- Curso de Introducción a la Lógica Descriptiva impartido por Enrico Franconi, Facultad de Informática, Universidad Libre de Bolzano, Italia.
- DATR (Lenguaje de representación del conocimiento léxico) Archivado el 17 de febrero de 2016 en Wayback Machine.
- Página principal del proyecto Loom
- Principios de representación del conocimiento y razonamiento incorporados
- Lógica descriptiva en la práctica: una aplicación CLÁSICA
- La iniciativa de marcado de reglas
- Nelements KOS : un sistema de representación del conocimiento 3D de pago.
- Representación del conocimiento
- Evaluación de inteligencia
- Modelado científico
- paradigmas de programación
- Razonamiento automatizado