# Cyc

Cyc (pronuncia-se /ˈsaɪk/) é um projeto de inteligência artificial de longo prazo que visa montar uma ontologia abrangente e uma base de conhecimento que abrange os conceitos e regras básicas sobre como o mundo funciona. Na esperança de capturar o conhecimento do senso comum, o Cyc se concentra no conhecimento implícito. O projeto começou em julho de 1984 na MCC e foi desenvolvido posteriormente pela empresa Cycorp.
O nome "Cyc" (de "enciclopédia") é uma marca registrada de propriedade da Cycorp. O CycL tem uma especificação lançada publicamente, e dezenas de módulos HL (Nível Heurístico) foram descritos no livro didático de Lenat e Guha, mas o código do mecanismo de inferência Cyc e a lista completa de módulos HL são de propriedade da Cycorp.
É considerado o mais ambicioso sistema de inteligência artificial baseado em enquadre, envolvendo de forma híbrida milhões de regras atreladas a milhares de representações para conceitos e objetos do cotidiano, que se organizam conforme uma ontologia de conceitos fundamentais, como "indivíduo" ou "objeto".
Diferente dos LLMs, que não têm um processo explícito de raciocínio por não possuírem conhecimento semântico ou gramatical ou regras lógicas, o Cyc, contra a tendência atual dos modelos de IA, é um sistema simbólico de inteligência artificial que emprega uma ampla ontologia que representa o pensamento lógico.

## História

O projeto começou em julho de 1984 por Douglas Lenat como um projeto da Microelectronics and Computer Technology Corporation (MCC), um consórcio de pesquisa iniciado por duas corporações sediadas nos Estados Unidos "para combater um então ameaçador esforço japonês em IA, o chamado projeto de 'quinta geração'". Os EUA aprovaram a Lei Nacional de Pesquisa Cooperativa de 1984, que pela primeira vez permitiu que empresas norte-americanas "conspirassem" em pesquisas de longo prazo. Desde janeiro de 1995, o projeto está em desenvolvimento ativo pela Cycorp, onde Douglas Lenat era o CEO.
A linguagem de representação CycL começou como uma extensão da RLL ("Representation Language Language", desenvolvida em 1979–1980 por Lenat e seu aluno de pós-graduação Russell Greiner enquanto estava na Universidade de Stanford). Em 1989, CycL expandiu seu poder expressivo para lógica de ordem superior (HOL).
A ontologia do Cyc cresceu para cerca de 100.000 termos em 1994 e, em 2017, continha cerca de 1.500.000 termos. A base de conhecimento Cyc envolvendo termos ontológicos foi amplamente criada por meio da escrita manual de axiomas; era de cerca de 1 milhão em 1994 e, em 2017, era de cerca de 24,5 milhões.
Em 2008, os recursos do Cyc foram mapeados para muitos artigos da Wikipédia. Cyc está atualmente conectado ao Wikidata.

## Base de conhecimento

A base de conhecimento é dividida em microteorias. Diferentemente da base de conhecimento como um todo, cada microteoria deve estar livre de contradições monótonas. Cada microteoria é um objeto de primeira classe na ontologia Cyc; ela tem um nome que é uma constante regular. Os nomes dos conceitos em Cyc são termos ou constantes CycL. As constantes começam com um #$ opcional e diferenciam maiúsculas de minúsculas. Existem constantes para:
* Itens individuais conhecidos como indivíduos, como #$BillClinton ou #$France.
* Coleções, como #$Tree-ThePlant (contendo todas as árvores) ou #$EquivalenceRelation (contendo todas as relações de equivalência). Um membro de uma coleção é chamado de instância dessa coleção.
* Funções que produzem novos termos a partir de termos fornecidos. Por exemplo, #$FruitFn, quando fornecido com um argumento descrevendo um tipo (ou coleção) de plantas, retornará a coleção de suas frutas. Por convenção, constantes de função começam com uma letra maiúscula e terminam com a string Fn.
* Funções de verdade, que podem ser aplicadas a um ou mais outros conceitos e retornar verdadeiro ou falso. Por exemplo, #$siblings é o relacionamento de irmãos, verdadeiro se os dois argumentos forem irmãos. Por convenção, as constantes da função verdade começam com uma letra minúscula.
Para cada instância da coleção #$ChordataPhylum (ou seja, para cada cordado), existe um animal fêmea (instância de #$FemaleAnimal), que é sua mãe (descrita pelo predicado #$biologicalMother).

## Motor de inferência

Um motor de inferência é um programa de computador que tenta derivar respostas de uma base de conhecimento. O mecanismo de inferência Cyc realiza dedução lógica geral. Ele também realiza raciocínio indutivo, aprendizado de máquina estatístico e aprendizado de máquina simbólico, além de raciocínio abdutivo.
O mecanismo de inferência Cyc separa o problema epistemológico do problema heurístico. Para este último, o Cyc usou uma arquitetura de comunidade de agentes na qual módulos especializados, cada um com seu próprio algoritmo, eram priorizados se pudessem progredir no subproblema.

## Lançamentos
### OpenCyc

A primeira versão do OpenCyc foi lançada na primavera de 2002 e continha apenas 6.000 conceitos e 60.000 fatos. A base de conhecimento foi lançada sob a licença Apache . A Cycorp declarou sua intenção de lançar o OpenCyc sob licenças paralelas e irrestritas para atender às necessidades de seus usuários. O interpretador CycL e SubL (o programa que permite aos usuários navegar e editar o banco de dados, bem como tirar inferências) foi lançado gratuitamente, mas apenas como um binário, sem código-fonte. Foi disponibilizado para Linux e Microsoft Windows. O projeto de código aberto Texai lançou o conteúdo compatível com RDF extraído do OpenCyc. A versão OpenCyc 4.0 foi lançada em junho de 2012. O OpenCyc 4.0 continha 239.000 conceitos e 2.093.000 fatos; no entanto, essas são principalmente afirmações taxonômicas.

### ResearchCyc

Em julho de 2006, a Cycorp lançou o executável do ResearchCyc 1.0, uma versão do Cyc destinada à comunidade de pesquisa, sem nenhum custo. (O ResearchCyc estava em fase beta de desenvolvimento durante todo o ano de 2004; uma versão beta foi lançada em fevereiro de 2005.) Além das informações taxonômicas, o ResearchCyc inclui mais conhecimento semântico; ele também inclui um grande léxico, ferramentas de análise e geração de inglês e interfaces baseadas em Java para edição e consulta de conhecimento. Ele contém um sistema para integração de dados baseado em ontologia.

## Aplicações

Durante mais de uma década, a Glaxo utilizou o Cyc para integrar semiautomaticamente os grandes tesauros de termos da indústria farmacêutica. Anteriormente, eles usavam funcionários para fazer isso manualmente. A Cleveland Clinic usou o Cyc para desenvolver uma interface de consulta em linguagem natural de informações biomédicas sobre cirurgias cardiotorácicas . Uma consulta é analisada em um conjunto de fragmentos CycL com variáveis abertas. A Base de Conhecimento sobre Terrorismo era uma aplicação do Cyc que tentava conter conhecimento sobre descrições relacionadas a "terroristas". O conhecimento é armazenado como declarações na lógica matemática.
Um aplicativo Cyc tem como objetivo declarado ajudar os alunos a fazer matemática no nível da 6ª série. A aplicação, denominada MathCraft, deveria desempenhar o papel de um colega estudante que está um pouco mais confuso do que o utilizador sobre o assunto. Conforme o usuário dá bons conselhos, o Cyc permite que o avatar cometa menos erros.

## Críticas

O projeto Cyc foi descrito como "um dos empreendimentos mais controversos da história da inteligência artificial". Catherine Havasi, CEO da Luminoso, diz que o Cyc é o projeto predecessor do Watson da IBM. O cientista de aprendizagem de máquina Pedro Domingos refere-se ao projeto como um "fracasso catastrófico" devido à quantidade infinita de dados necessários para produzir quaisquer resultados viáveis e à incapacidade do Cyc de evoluir por si próprio.
Gary Marcus, um cientista cognitivo e cofundador de uma empresa de IA chamada Geometric Intelligence, diz que "representa uma abordagem muito diferente de todas as coisas de aprendizagem profunda que têm aparecido nas notícias". Isso é consistente com a posição de Doug Lenat de que "Às vezes, o verniz da inteligência não é suficiente".

## Funcionários notáveis

Esta é uma lista de algumas pessoas notáveis que trabalham ou trabalharam no Cyc enquanto ele era um projeto na MCC (onde o Cyc foi iniciado) ou na Cycorp.
* Douglas Lenat
* Michael Witbrock
* Pat Hayes
* Ramanathan V. Guha
* Stuart J. Russell
* Srinija Srinivasan
* Jared Friedman
* John McCarthy