• Nenhum resultado encontrado

CAPÍTULO 3 TECNOLOGIAS COMPUTACIONAIS PARA VIABILIZAR O

3.3. Representação do Conhecimento e Preparação dos Dados

Para ser utilizado em aplicações computacionais, o senso comum precisa estar representado em uma forma que os computadores possam processá-lo e realizar inferências sobre ele (Lenat et al., 1990; Liu e Singh 2004b).

Vendo essa necessidade, pesquisas na área de representação de conhecimento foram buscar nas teorias desenvolvidas na área da ciência cognitiva para desenvolver técnicas de representação que facilite o processamento das informações e a utilização dessas para concluir coisas sobre um determinado assunto ou evento (Minsky, 2000).

Nesse contexto, tem-se a lógica como fundamento para a maioria dos formalismos utilizados na área de representação de conhecimento. O Cyc, por exemplo, utiliza essa abordagem, representando o conhecimento em CycL, que é uma linguagem lógica baseada em regras (Lenat et al., 1990; Matuszek et al., 2006).

As principais características da CycL são (Guha e Lenat, 1994; Matuszek et al., 2006; Panton et al., 2006):

1) Definição de constantes que nomeiam os conceitos. A notação utilizada para representar as constantes inicia-se com os símbolos #$ seguidos pelo nome do conceito. Há constantes para representar:

• itens individuais, tais como #$GeorgeWBush e #$Brazil;

• coleções, como por exemplo, #$Tree-ThePlant, que representa todas as árvores;

• funções booleanas, utilizadas para representar funções que aplicadas a um ou mais conceitos retornam um valor verdadeiro ou falso. Tais constantes relacionam-se principalmente com os conectivos lógicos (#$and, #$or, #$not, #$implies), quantificadores (#$forAll, #$thereExists, etc.) e predicados;

• funções gerais, que produzem novos termos a partir dos termos fornecidos. Por exemplo, quando se fornece um argumento descrevendo um tipo ou coleção de plantas para a função #$FruitFn, ela retorna um coleção representando as frutas do argumento fornecido.

2) Agrupamento de todas constantes em uma hierarquia de generalização/especialização. Os principais predicados utilizados para essa finalidade são o #$isa (é um), representando que um item é uma instância de alguma coleção, por exemplo, (#$isa #$Apple #$Fruit), que se refere à afirmação “maçã é uma fruta”, e #$genls (generalização), representando que uma coleção é uma generalização de outra, por exemplo, (#genls #$Tree-

ThePlant #$Plant), que diz respeito à afirmação “todas as árvores são plantas”.

3) Definição de regras de inferência sobre os conceitos. Por exemplo, a regra que segue realiza a seguinte inferência, se X é uma conferência, o tópico de X é IA, e Y apresenta trabalhos em X, logo Y é um pesquisador de IA.

(#$implies (#$and

(#$isa ?CONF #$Conference)

(#$topicOfIndividual ?CONF #$ArtificialIntelligence) (#$presenter ?CONF ?PER))

4) Utilização de microteorias, que definem contextos para manter a consistência na base de conhecimento. Panton et al. (2006) descrevem o seguinte cenário para demonstrar a importância das microteorias:

Criança: Pai, quem é o Drácula? Pai: Um vampiro.

Criança: Existem vampiros realmente? Pai: Não, vampiros não existem.

O paradoxo entre a primeira e a segunda afirmação do pai é solucionado no Cyc através das microteorias. Como Drácula pode ser um vampiro se não existem vampiros? Panton et al. (2006) explicam que diferenciando os contextos, as afirmações deixam de ser paradoxais. No primeiro momento, analisa os autores, o pai refere-se ao contexto mitológico e da ficção, onde é comum a existência de monstros. No segundo momento, a informação refere-se ao contexto do mundo real. As informações devem ser consistentes nas microteorias das quais elas fazem parte, podendo ser inconsistentes com informações presentes em outras microteorias.

A base de conhecimento do projeto Thought Treasure também utiliza a representação do conhecimento em uma linguagem lógica, tendo sido desenvolvida uma notação própria para utilizar no projeto, embora também exista uma versão da base em CycL (Mueller, 1999).

Além da representação lógica, o projeto adota também a representação do conhecimento em grades, para representar estereotipo de configurações de coisas em geral, e autômatos finitos, para representar (Mueller, 2007):

(a) regras do dedo polegar (rules of thumb), que são relacionadas a conhecimentos do tipo “olhe para os dois lados da rua antes de atravessá-la”, “no final de uma conversa telefônica, diga tchau e coloque o telefone de volta na base”;

(b) comportamentos de dispositivos eletrônicos, relacionados a conhecimentos como “quando se tira o telefone do gancho, recebe-se um sinal de discagem”; e

(c) relacionado aos processos da mente humana (Mueller, 2007).

A decisão de adotar outras formas de representação justifica-se por algumas representações serem mais eficientes, para tipos de aplicações diferentes que utilizarão conhecimento, de acordo com Mueller (2007) e Minsky (2000; 1986).

A Figura 5 exemplifica como um conhecimento pode ser representado em grade. Mueller (2007) argumenta que a grade pode ser interpretada literalmente como o piso térreo da Ópera Comique de Paris, ou para sugerir como os pisos térreos de outros teatros provavelmente são.

Figura 5. Representação em grade do térreo da Ópera Comique de Paris (Mueller, 2007) . p:door t:counter u:stairs-up w:wall A:employee-side-of-counter B:customer-side-of-counter C:column M:mirror P:revolving-door Q:stage-entrance R:&Opera-Comique-cash-register T:&Opera-Comique-ticket-box X.tpCw:&Opera-Comique-box-office 1:&Opera-Comique-Entrance1 2:&Opera-Comique-0To1A 3:&Opera-Comique-0To1B 4:&Opera-Comique-0To1Stage 5:&Opera-Comique-Stage-Entrance .

A riqueza de informações que a grade representa, no entanto, pode ser considerada de maior proporção, pois a representação inclui elementos que geralmente são encontrados em teatros como porta, escadas, paredes, colunas, e que induzem a outros conhecimentos como “teatros geralmente são ambientes fechados” (têm paredes e portas), “teatros geralmente possui mais de um piso” (têm escadas), e assim por diante.

Vale ressaltar que a grade, apresentada na Figura 5, está relacionada à estrutura de um teatro específico, a Ópera de Comique, e a validade do conhecimento representado como senso comum depende da maioria dos teatros conhecidos pelas pessoas obedecerem à mesma estrutura.

Outra abordagem que pode ser utilizada para a representação do conhecimento é a utilização de redes semânticas, que são grafos dirigidos, cujos vértices correspondem a conceitos e cujas arestas representam relações semânticas entre esses conceitos (Liu e Singh, 2004a; Liu e Singh, 2004b; Minsky, 2000).

A abordagem adotada no projeto OMCS para representar o conhecimento coletado de seus colaboradores é utilizar uma rede semântica, cujos nós são fragmentos semi-estruturados de texto em língua natural, que acomodam conceitos expressos tanto em lógica de primeira ordem, tais como frases nominais (potato chips, por exemplo), quanto em lógica de segunda ordem, como frases verbais (buy potato chips, por exemplo) (Liu e Singh, 2004b).

Embora a representação do conhecimento em fragmentos de texto em língua natural seja fonte de ambigüidades, pois freqüentemente há mais de uma forma de representar o mesmo conhecimento, os idealizadores do projeto OMCS acreditam que essa representação traga mais flexibilidade para os mecanismos de inferência, do que linguagens como a CycL, que utilizam constantes para evitar ambigüidade em suas bases (Liu e Singh, 2004a; Liu e Singh, 2004b).

No projeto OMCS, a rede semântica, batizada como ConceptNet (Liu e Singh, 2004a), é representada textualmente através de relações binárias. Atualmente, existem 20 tipos de relações organizadas em oito classes, conforme é apresentado na TABELA 1. Esses tipos foram definidos com base em estudos sobre a teoria de Minsky (1986) de como funciona a mente dos seres humanos e quais tipos de conhecimento

compõem o senso comum sobre o qual a sua inteligência se fundamenta (Singh 2002a; Liu e Singh, 2004a).

Dessa forma, os tipos de relações procuram abranger os vários tipos de conhecimentos tais como conhecimentos sobre os (1) mecanismos primários que regem a memória humana, representados pelas K-lines propostas por Minsky (1986; 2000); (2) generalização/especialização, representados pela relação IsA; (3) propriedades, representados pela relação PropertyOf; (4) causa e efeito, representados pela EffectOf; requisitos e rotinas para atingir um objetivo específico, representados pelas relações

PrerequisiteEventOf, FirstSubeventOf, SubeventOf e LastSubeventOf; e assim

sucessivamente, como se encontra explicitado na TABELA 1.

TABELA 1. Os vinte tipos de relações usadas para construir a ConceptNet e seus respectivos exemplos (Liu e Singh, 2004a, p. 217)

CLASSE RELAÇÃO EXEMPLO

K-LINES ConceptuallyRelatedTo (ConceptuallyRelatedTo ‘bad breath’ ‘mint’

‘f=4;i=0’)

ThematicKLine (ThematicKLine ‘weding dress’ ‘veil’ ‘f=9;i=0’) SuperThematicKLine (SuperThematicKLine ‘western civilisation’

‘civilisation’ ‘f=0;i=12’

THINGS IsA (IsA ‘horse’ ‘mamal’ ‘f=17; i=3’)

PropertyOf (PropertyOf ‘fire’ ‘dangerous’ ‘f=17;i=1’) PartOf (PartOf ‘butterfly’ ‘wing’ ‘f=5;i=1’) MadeOf (MadeOf ‘bacon’ ‘pig’ ‘f=3;i=0’)

DefinedAs (DefinedAs ‘meat’ ‘flesh of animal’ ‘f=2;i=1’)

AGENTS CapableOf (CapableOf ‘dentist’ ‘pull tooth’ ‘f=4;i=0’ )

EVENTS PrerequisiteEventOf (PrerequisiteEventOf ‘read letter’ ‘open envelope’

‘f=2;i=0’)

FirstSubeventOf (FirstSubeventOf ‘start fire’ ‘light match’ ‘f=2;i=3’)

SubEventOf (SubEventOf ‘play sport’ ‘score goal’ ‘f=2;i=0’) LastSubeventOf (LastSubeventOf ‘attend classical concert’ ‘aplaud’

‘f=2;i=1’)

SPATIAL LocationOf (LocationOf ‘army’ ‘in war’ ‘f=3; i=0’)

CAUSAL EffectOf (EffectOf ‘view video’ ‘entertainment’ ‘f=2;i=0’)

DesirousEffectOf (DesirousEffectOf ‘sweat’ ‘take a shower’ ‘f=3;i=1’)

FUNCTIONAL UsedFor (UsedFor ‘fire place’ ‘burn’ ‘f=1;i=2’)

CapableOfReceivingAcion (CapableOfReceivingAcion ‘drink’ ‘serve’ ‘f=0; i=14’)

AFFECTIVE MotivationOf (MotivationOf ‘play game’ ‘compete’ ‘f=3;i=0’)

DesireOf (DesireOf ‘person’ ‘not be depressed’ ‘f=2;i=0’)

Os argumentos f e i presentes nas relações da TABELA 1 correspondem respectivamente ao número de vezes que uma determinada relação é gerada diretamente a partir dos fatos armazenados na base do projeto OMCS (frequency of uttered

relations) e ao número de vezes que uma relação foi gerada indiretamente, através dos

mecanismos de inferência desenvolvidos para montar a rede (frequency of inferred

relations). O processo de cálculo desses argumentos é abordado com detalhes no

próximo capítulo.

Independente da representação adotada, as informações coletadas precisam atender a estrutura de representação da base. Logo, vê-se a necessidade de uma preparação dos dados coletados para atender a representação adotada.

Até pouco tempo, a preparação das informações armazenadas na base Cyc era realizada diretamente pelos engenheiros de conhecimento da corporação, que codificavam as informações, coletadas de especialistas em domínios, em CycL, antes de enviá-las para a base (Shah, 2006; Panton, 2006).

Contudo, com as novas abordagens de coletar conhecimento de senso comum de usuários leigos em CycL e de documentos disponíveis na Internet, escritos em língua natural, começaram a ser desenvolvidos módulos para automatizar o processo de codificar sentenças em CycL a partir de porções de texto língua natural (Witbrock et al., 2003; Matuszek et al., 2005; Shah, 2006).

O mesmo ocorre no projeto OMCS. Desde que o projeto se iniciou, passaram a ser desenvolvidos procedimentos para processar os fatos de senso comum fornecidos em língua natural nos sites do projeto e automatizar a geração da ConceptNet (Liu e Singh, 2004a; Liu e Singh, 2004b).

O mecanismo utilizado nesses projetos baseia-se na utilização de regras de extração que mapeiam estruturas relevantes encontradas no texto em língua natural fornecido (frases nominais, verbais e adjetivas), nos elementos da representação de conhecimento adotada (constantes, coleções, microteorias, relações e regras de inferência, etc.). As regras de extração consideram heurísticas geradas a partir da gramática da língua natural para a identificação das estruturas relevantes, utilizadas para gerar novas entradas para a base (Witbrock et al., 2003; Matuszek et al., 2005; Liu e Singh, 2004a).