A extra¸c˜ao da resposta consiste em encontrar todas as solu¸c˜oes para a quest˜ao colocada pelo utilizador. Ou seja, quando a quest˜ao em l´ıngua natural ´e transformada na sua representa¸c˜ao semˆantica, o Controlador do Discurso tenta dar sentido `a quest˜ao intro- duzida, atrav´es da an´alise da estrutura da ontologia e da informa¸c˜ao dispon´ıvel na Web Semˆantica, recorrendo a regras de similaridade entre strings e a recursos lexicais gen´ericos, com o objetivo de obter o conjunto de solu¸c˜oes que s˜ao resposta da quest˜ao.
O Controlador do Discurso deve supervisionar a pesquisa (por execu¸c˜ao do m´odulo Con- texto Ontol´ogico) e valida¸c˜ao (por execu¸c˜ao do m´odulo Interpreta¸c˜ao Semˆantica) das en- tidades na base do conhecimento e quando uma solu¸c˜ao ´e encontrada ser´a adicionada `a base de conhecimento associada `a quest˜ao inicial, mais concretamente, ao conjunto de informa¸c˜ao que representa o discurso associado `a quest˜ao colocada.
Exemplo 5.2.1 Considere a quest˜ao, apresentada em [24],
Where is the Taj Mahal? (5.1)
que, de acordo com o analisador Stanford, tem como representa¸c˜ao sint´atica a express˜ao
(ROOT (SBARQ
(WHADVP (WRB Where)) (SQ (VBZ is)
(NP (DT the) (NNP Taj) (NNP Mahal))) (. ?)))
Por aplica¸c˜ao das regras introduzidas na Sec¸c˜ao 4.3:
• Os nomes pr´oprios “Taj” e “Mahal” est˜ao no mesmo agrupamento da estrutura sint´atica, pelo que ´e gerado um novo referente, por exemplo Y, e a condi¸c˜ao name(Y, ’Taj Mahal’). O determinante “the”, por se tratar de um artigo definido e por preceder os nomes pr´oprios ser´a ignorado;
• O adv´erbio “where” com marca¸c˜ao de quest˜ao gera um novo referente, por exemplo X, e a condi¸c˜ao place(X). Para al´em disso, o adv´erbio “where” estando incorporado no agrupamento que faz liga¸c˜ao com os nomes pr´oprios e implicitamente referir-se a uma localiza¸c˜ao, gera um novo referente, por exemplo Z, e a condi¸c˜ao location(Y,Z), cujos argumentos s˜ao os referentes criados e relacionados com o seu agrupamento; • O verbo “is” gera a condi¸c˜ao de igualdade is(X,Z), cujos argumentos s˜ao os refe-
rentes criados e relacionados com o seu grupo verbal.
Assim, a representa¸c˜ao semˆantica da quest˜ao 5.1 ´e expressa por:
U = {where-X, exist-Y, exist-Z}
Con = {name(Y,‘‘Taj Mahal’’), location(Y,Z), place(X), is(X,Z)} (5.2)
onde os referentes do discurso s˜ao where-X, exist-Y e exist-Z, com X uma entidade do discurso universalmente quantificada e Y e Z entidades do discurso existencialmente quantificadas, o predicado principal ´e is(X, Z) e os predicados pressupostos s˜ao name(Y, ’Taj Mahal’), location(Y, Z) e place(X).
Na fase da execu¸c˜ao do m´odulo Contexto Ontol´ogico, o sistema tem de encontrar as enti- dades da base de conhecimento, que est˜ao relacionadas com os termos da quest˜ao. Ou seja, o sistema procura recursos na ontologia que sejam semelhantes (ou estejam relacionados) com os termos associados aos predicados da DRS. Para tal, faz a verifica¸c˜ao de seme- lhan¸cas entre os r´otulos dos termos e recursos envolvidos, baseada nas suas composi¸c˜oes como strings, tendo em conta abreviaturas, acr´onimos, o dom´ınio do conhecimento e o conhecimento l´exico. Para maximizar a recolha, o Contexto Ontol´ogico procura por clas- ses, propriedades, instˆancias e/ou valores de dados que tenham r´otulos que correspondam total ou parcialmente a um termo de procura da DRS. A Tabela 5.1 mostra alguns dos recursos encontrados e que est˜ao relacionados com os termos da quest˜ao.
Os recursos da ontologia encontrados v˜ao formar as representa¸c˜oes DRS da quest˜ao na ontologia e para cada uma das representa¸c˜oes ter´a de ser verificada a sua veracidade na base de conhecimento. Ou seja, por aplica¸c˜ao do m´odulo Avalia¸c˜ao Semˆantica, a valida¸c˜ao de cada representa¸c˜ao da DRS na ontologia consiste em encontrar todas as entidades da ontologia que s˜ao solu¸c˜oes da DRS. Mais concretamente, o sistema tem de encontrar os valores para as vari´aveis X, Y, Z que verificam as representa¸c˜oes DRS na ontologia, i.e., para as correspondˆencias encontradas no Contexto Ontol´ogico, o sistema tem de encontrar as entidades/recursos da ontologia que verificam os triplos RDF que
5.2. EXTRAC¸ ˜AO DA RESPOSTA 83
Termos da DRS Recursos da Ontologia
location http://dbpedia.org/ontology/location http://dbpedia.org/ontology/locationCity http://dbpedia.org/ontology/locationCountry http://dbpedia.org/property/locationOfBirth http://dbpedia.org/property/locationArea http://dbpedia.org/property/locationmap place http://dbpedia.org/ontology/Place http://dbpedia.org/ontology/PopulatedPlace http://dbpedia.org/property/birthdplace http://dbpedia.org/ontology/deathPlace Taj Mahal http://dbpedia.org/resource/Taj Mahal
http://dbpedia.org/resource/Taj Mahal (musician) http://dbpedia.org/resource/Taj Mahal Palace & Tower http://dbpedia.org/resource/United Breweries Group http://dbpedia.org/resource/Taj Mahal Hotel (Delhi) http://dbpedia.org/resource/Taj Mahal Palace http://dbpedia.org/resource/Taj Mahal (1963 film) http://dbpedia.org/resource/Taj (album)
http://dbpedia.org/resource/Mule Bone (album) http://dbpedia.org/resource/Taj Mahal Palace
Tabela 5.1: Alguns recursos da ontologia que correspondem a termos da DRS da quest˜ao “Where is the Taj Mahal?”.
correspondem `as condi¸c˜oes da DRS 5.2 da quest˜ao. A solu¸c˜ao e cada um dos triplos que verificam a estrutura semˆantica s˜ao adicionados `a representa¸c˜ao do discurso, a base de conhecimento da quest˜ao.
Por exemplo, para o recurso http://dbpedia.org/resource/Taj_Mahal_Palace que ve- rifica a condi¸c˜ao name(Y,’Taj Mahal’), encontramos na DBpedia as seguintes declara¸c˜oes1 (triplos RDF), que traduzem, respetivamente, a sua localiza¸c˜ao (valida¸c˜ao da condi¸c˜ao location(Y,Z)) em Bhopal e que Bhopal se trata de um lugar (valida¸c˜ao da condi¸c˜ao place(X)):
dbpedia:Taj_Mahal_Palace dbpedia-owl:location dbpedia:Bhopal . dbpedia:Bhopal rdf:type dbpedia-owl:Place .
1
Os prefixos da ontologia da DBpedia traduzem-se por: dbpedia: <http://dbpedia.org/resource/>;
dbpedia-owl: <http://dbpedia.org/ontology/>; rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
Ou seja, estas declara¸c˜oes validam os mapeamentos dos termos da quest˜ao na ontologia, no- meadamente location ´e mapeado em http://dbpedia.org/ontology/location e place ´e mapeado em http://dbpedia.org/ontology/Place, e determinam uma solu¸c˜ao para a representa¸c˜ao semˆantica da quest˜ao
X = http://dbpedia.org/resource/Bhopal
Y = http://dbpedia.org/resource/Taj_Mahal_Palace Z = http://dbpedia.org/resource/Bhopal
A solu¸c˜ao, os triplos RDF que geram a solu¸c˜ao e os mapeamentos dos termos da quest˜ao na ontologia, que validam a representa¸c˜ao semˆantica da quest˜ao, s˜ao adicionados `a base
de conhecimento da quest˜ao, a representa¸c˜ao do discurso. N