Ciclo

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 26 de agosto de 2018; las comprobaciones requieren 12 ediciones .
ciclo
Tipo de base de conocimientos , motor de inferencia , programa informático , ontología superior y proyecto de investigación [d]
Desarrollador Lenat, Douglas
Escrito en Ceceo , CycL [d] y SubL [d]
Primera edición 1984
Sitio web cic.com

Cyc ( escrito en latín, pronunciado Cyc ) es un proyecto para crear una voluminosa base de conocimiento ontológico que permita a los programas resolver problemas complejos del campo de la inteligencia artificial basada en la inferencia lógica y el uso del sentido común .

Resumen

El proyecto fue iniciado por Douglas Lenat en 1984 en Microelectronics and Computer Technology Corporation . El nombre "Cyc" (derivado de la enciclopedia inglesa  : "cyc") es una marca registrada de Cycorp, Inc en Austin , operada por Lenat y creada para desarrollar Cyc. La base de conocimientos es propiedad de la empresa, pero una pequeña parte de la base, destinada a establecer un vocabulario común para los programas de razonamiento automático, se publicó como OpenCyc bajo una licencia abierta . Posteriormente, Cyc se puso a disposición de los investigadores de IA bajo una licencia de investigación especial de ResearchCyc .

Ejemplos típicos de conocimiento en la base de datos son: "Cada árbol es una planta" y "Las plantas son mortales". Si pregunta "¿mueren los árboles?", el motor de inferencia puede sacar la conclusión obvia y dar la respuesta correcta. La Base de conocimientos (Base de conocimientos en inglés  o KB) contiene más de un millón de declaraciones, reglas e ideas de uso común ingresadas allí por personas. Están formulados en el lenguaje CycL , que se basa en el cálculo de predicados y tiene una sintaxis similar a Lisp . Los usuarios de habla inglesa bromean diciendo que son "ciclistas" (del inglés cyclist  - un ciclista).  

La mayor parte del trabajo actual en el proyecto Cyc todavía se trata de ingeniería del conocimiento  : describir manualmente hechos sobre el mundo que nos rodea e implementar mecanismos de inferencia eficientes basados ​​en este conocimiento. Sin embargo, se está trabajando para permitir que el sistema Cyc se comunique de forma independiente con los usuarios en lenguaje natural y para acelerar el proceso de reposición de la base mediante el aprendizaje automático .

Descripción de la base de conocimientos, terminología

Los conceptos en Cyc se llaman constantes . Los nombres constantes comienzan con los caracteres opcionales "#$" y distinguen entre mayúsculas y minúsculas. Hay constantes para:

Los predicados más importantes son #$isa y #$genls. La primera es una declaración de que un elemento es una instancia de una colección y la segunda es que una colección es una subcolección de otra colección. Los hechos acerca de los conceptos se declaran usando sentencias especiales de CycL . Los predicados se escriben entre paréntesis antes de sus argumentos:

(#$isa #$BillClinton #$PresidentedeEstadosUnidos)

significa que "Bill Clinton es uno de los presidentes de los Estados Unidos", y la declaración

(#$genls #$Tree-ThePlant #$Plant)

dice "Todos los árboles son plantas".

(#$ciudadcapital #$Francia #$París)

significa "París es la capital de Francia".

Las declaraciones también pueden contener variables, líneas que comienzan con un "?". Estas declaraciones se llaman "reglas". Una de las reglas más importantes con respecto al predicado #$isa dice:

(#$implica (#$y (#$isa ?OBJ ?SUBSET) (#$genls ?SUBSET ?SUPERSET)) (#$isa ?OBJ ?SUPERCONJUNTO))

lo que significa "si OBJ es una instancia de la colección SUBSET , y SUBSET a su vez es una subcolección de SUPERSET, entonces OBJ también es una instancia de la colección SUPERSET". Otro ejemplo típico:

(#$relationAllExists #$biologicalMother #$ChordataPhylum #$FemaleAnimal)

lo que significa que cualquier instancia de la colección #$ChordataPhylum (es decir, cualquier cordado ) está asociada con un animal hembra (una instancia de #$FemaleAnimal) que es su madre (como se describe en el predicado #$BiologicalMother).

La base de conocimiento de Cyc se divide en microteorías (Mt), colecciones de conceptos y hechos pertenecientes a un área específica de conocimiento. A diferencia de una base de conocimiento completa, cualquier microteoría debe estar libre de contradicciones. Cada microteoría tiene un nombre que es una constante ordinaria; por convención, las constantes de microteoría contienen la cadena "Mt". Un ejemplo es #$MathMt, una microteoría que contiene conocimientos matemáticos. Las microteorías se pueden heredar unas de otras y están organizadas en una jerarquía: una de las especializaciones de #$MathMt es #$GeometryGMt, una microteoría sobre geometría.

ciclo abierto

La última versión de OpenCyc, 1.0, se lanzó en julio de 2006. OpenCyc 1.0 incluye una ontología Cyc completa que contiene cientos de miles de expresiones, millones de declaraciones que vinculan términos entre sí. La base de conocimiento contiene 47 000 conceptos y 306 000 hechos y se puede ver en el sitio web de OpenCyc. La primera versión de OpenCyc se lanzó en mayo de 2001 con solo 6.000 conceptos y 60.000 hechos. La base de conocimientos se publica bajo la licencia de Apache . Cycorp tiene la intención de lanzar OpenCyc bajo licencias paralelas menos restrictivas para satisfacer las necesidades de sus usuarios. El intérprete CycL y SubL (un programa que le permite ver y modificar la base de datos y sacar conclusiones) se libera de forma gratuita, pero solo en forma binaria, sin código fuente. Se ejecuta tanto en GNU/Linux como en Microsoft Windows .

ResearchCyc

En julio de 2006, Cycorp lanzó ResearchCyc 1.0, una versión gratuita (pero de código cerrado) de Cyc dirigida a la comunidad investigadora. (ResearchCyc estuvo en versión beta a lo largo de 2004 y se lanzó a prueba beta en febrero de 2005). Además de la información taxonómica de OpenCyc, ResearchCyc incluye significativamente más conocimiento semántico (es decir, hechos adicionales) sobre los conceptos en su base de conocimiento e incluye un gran léxico, herramientas para analizar y generar inglés , interfaces escritas en Java para editar conocimiento y crear consultas a la base de datos.

Cycorp ha expresado públicamente su intención de publicar todos los términos y relaciones taxonómicas contenidas en ResearchCyc como parte de OpenCyc, y esto se ha hecho en la versión 1.0. Uno de los objetivos declarados es crear un vocabulario semántico completamente libre y sin restricciones para su uso en la Web Semántica . La taxonomía de OpenCyc está disponible en formato Owl en el sitio web del proyecto OpenCyc.

Críticas al proyecto Cyc

Cyc ha sido descrito como "uno de los esfuerzos más controvertidos en la historia de la inteligencia artificial" (Bertino et al. p. 275), por lo que inevitablemente ha recibido una buena cantidad de críticas.

Estos temas han sido discutidos en varios lugares desde el lanzamiento del proyecto. Doug Lenat y otros han publicado muchos argumentos en defensa de su proyecto.

Véase también

Bibliografía

Notas

  1. Volkel M., Krotzsch M., Vrandecic D., Haller H., Studer R. Wikipedia semántica Archivado el 31 de diciembre de 2019 en Wayback Machine . En Actas de la 15ª Conferencia Internacional sobre la World Wide Web. WWW '06. ACM Press, Nueva York, NY. Edimburgo, Escocia, 23-26 de mayo de 2006. - pp. 585-594

Enlaces