A mashup system to generate route descriptions based

Transcrição

A mashup system to generate route descriptions based
A mashup system to generate route descriptions based on
points of interest
Um sistema de geração de rotas baseadas em pontos de referências
Adolfo Guimarães
Hendrik Macedo
Departamento de Computação - UFS
Av. Marechal Rondon, s/n, CEP 49100-000
São Cristóvão, Sergipe, Brazil
Departamento de Computação - UFS
Av. Marechal Rondon, s/n, CEP 49100-000
São Cristóvão, Sergipe, Brazil
[email protected]
[email protected]
ABSTRACT
The so-called mashups are now popularized within Web software development field. Mashups are software aplications
that integrate a broad range of functionalities with a specific API to provide a sort of services to users. One of the
most used API is the Google Maps, which seems to represent
around 80% of all mashups created so far. Its most popular
functionality concern the generation of a textual description
of a route between two points in a map. The description
uses road and avenue names, distances and directions by
means of cardinal and intercardinal points indication. Such
kind of route orientation is considerably different from those
people are used to give or ask for in daily occasions. Indeed,
people use to refer to points of interest in order to facilitate
understanding. This work describes RotaCerta, a mashup
system which considers points of interest that are broadly
known or easily identifiable to generate route descriptions.
RotaCerta uses Google Maps API and template-driven natural language generation as technological resources.
sendo aplicações que integram diversas funcionalidades com
uma API especı́fica para prover determinados serviços ao
usuário. Dentre as APIs mais utilizadas está o Google Maps,
que detém hoje pouco mais de 80% dos mashups criados.
Dentre as funcionalidades providas pelo Google Maps está
a funcionalidade que determina rotas entre dois pontos. No
entanto, o resultado exibido se distancia um pouco da forma
natural de comunicação entre humanos, uma vez que a descrição das rotas geradas se concentra em nomes de ruas,
avenidas, distâncias de percurso e sinalização de direção com
pontos cardeais. É sabido que no cotidiano as sugestões
de rotas são usualmente acompanhadas de indicações sobre
pontos de referências - que certamente tornam o percurso
mais claro. Este trabalho descreve o sistema RotaCerta que
fornece a descrição das rotas geradas levando em consideração pontos de referência que são conhecidos e/ou facilmente
observados na cidade em questão. O sistema utiliza a API
do Google Maps e a técnica de geração de linguagem natural
baseada em templates como recursos tecnológicos.
Categories and Subject Descriptors
1.
H.5.2 [Information Interfaces and Presentation]: User
Interfaces—Natural Language; H.5.4 [Information Interfaces and Presentation]: Hypertext/Hypermedia—User
issues; D.2.8 [Artificial Intelligence]: Natural Language
Processing—Language generation
O desenvolvimento de dispositivos móveis está contribuindo
para o surgimento de novos tipos de aplicativos. Um desses
aplicativos são os chamados sistemas baseados em localização (Location-based Systems). Este tipo de aplicativo é caracterizado por identificar a localização dos usuários e a partir
desta informação prover serviços ou identificar outros objetos próximos. O uso da tecnologia GPS (Global Position
System) associada a esse tipo de sistemas permite habilitar
celulares, PDAs e automóveis com sistemas de localização.
General Terms
Human Factors
Keywords
mashups, points of interest, natural language generation
RESUMO
Os chamados mashups vêm ganhando espaço no desenvolvimento de sistemas Web. Entende-se por esse termo como
INTRODUÇÃO
Um exemplo é o Google Maps [4]. O Google Maps é um
serviço provido pelo Google que permite aos usuários visualizar diversos mapas de todo o planeta assim como solicitar
rotas entre dois pontos. No entanto, os resultados exibidos
se distanciam um pouco da forma natural de comunicação.
A Figura 1a mostra um exemplo de rota gerada pelo Google
Maps entre os seguintes trechos1 : um colégio na Rua Nossa
Senhora das Dores e um shopping center na Av. Pedro Valadares. Como pode ser observado, o texto apresentado considera apenas a indicação do nome de ruas, avenidas que
constituem o trajeto e nas distâncias de percurso e direção
1
Todos os exemplos de localidades utilizadas no artigo se referem à cidade de Aracaju/SE, nordeste do Brasil. Aracaju
foi a cidade escolhida para o estudo.
cardeal associadas. Se essa mesma rota fosse sugerida por
uma pessoa no dia-a-dia, muito provavelmente, sua descrição
seria mais próximo da ilustrada na Figura 1b, onde há claramente o envolvimento de pontos de referências [2].
determinado e estático em vários pontos ao longo da rota,
bem como um gerador de texto natural baseado em templates para apresentação dos resultados.
O restante do artigo está organizado da seguinte forma. Na
seção 2, a tecnologia dos mashups e a Geração de Linguagem
Natural baseada em templates são introduzidos para facilitar o entendimento da abordagem. O sistema RotaCerta é
apresentado na seção 3, e alguns exemplos de sua aplicação
são apresentados na seção 4, juntamente com uma discussão
sobre os resultados obtidos. A seção 5 tras alguns trabalhos
relacionados. Finalmente, algumas conclusões, limitações
e possibilidades de trabalhos futuros são apresentadas na
seção 6.
2.
TECNOLOGIAS ENVOLVIDAS
Duas tecnologias estão envolvidas na solução proposta: (1)
os mashups e a (2) Geração de Linguagem Natural (NLG).
2.1
Mashups
Os sistemas baseados em mapas se enquadram em uma categoria de sistemas denominada mashups. Este termo surgiu
recentemente com o advento da Web 2.0 e tem como principal caracterı́stica a integração de diversas funcionalidades
com uma API especı́fica para prover um determinado serviço
[10] . Uma pesquisa apresentada em [18] mostra que dentre as aplicações atuais, aquelas que utilizam mapas são as
mais populares, sendo responsáveis por 77,8% das aplicações
desenvolvidas. Já em relação ao uso de APIs, a pesquisa revelou que 96,4% dos sistemas fazem uso da API do Google
Maps. Esses dados mostram o aumento no interesse por
sistemas de localização baseado em mapas.
O principal objetivo desses sistemas é identificar pessoas e
objetos dentro de uma localidade. Sabendo onde o usuário
se encontra pode-se descobrir o que ou quem está próximo a
ele e formular hipóteses acerca dos seus objetivos [12]. Em
um sistema de localização, o posicionamento de pessoas e
objetos pode ser classificado em dois tipos: fı́sico e simbólico
[9]. O primeiro leva em conta valores absolutos de onde
aquela pessoa se encontra, por exemplo, latitude, longitude
e altitude. Já o segundo considera uma idéia mais abstrata
de onde pessoas e objetos possam estar. Por exemplo: na
cozinha, perto do prédio A, vizinho à casa B.
Figura 1: (a) Texto gerado pela rota do google maps
e (b) Texto gerado pela rota do RotaCerta
Essa outra possibildade de exibição do texto tornou-se a
principal motivação deste trabalho e com isso algumas questões
foram levantadas: como mapear as informações de localização tanto da rota quanto das referências de maneira que
possamos relacioná-las? Como incluir pontos de referências
de forma que estes façam sentido dentro do texto natural
gerado?
Para responder a estas perguntas, este artigo descreve o sistema RotaCerta - sistema baseado na API do Google Maps
que gera texto para rotas entre dois pontos levando em consideração os pontos de referência entre estes. Um analisador
de percurso foi implementado para identificação de pontos
de referências existentes dentro de um raio de distância pré-
Nesse contexto, aparecem os sistemas que determinam rotas
entre dois pontos. Baseado em uma posição fı́sica inicial do
usuário, o sistema é capaz de descrever uma rota até um destino, levando em conta o posicionamento fı́sico e simbólico de
pessoas e objetos. O resultado desta aplicação normalmente
é uma representação gráfica do caminho, associada a uma
saı́da textual. O desenvolvimento das tecnologias móveis fez
esse tipo de sistema ficar cada vez mais popular.
O Google Maps vem ganhando espaço como principal sistema de localização na Web. A disponibilização de sua API
[5] pode ser visto como um dos principais fatores responsáveis por tal crescimento [8]. O RotaCerta utiliza fundamentalmente três recursos disponı́veis nesta API: (1) a possibilidade de criar rotas informando-se pontos de partida e
chegada, (2) o cálculo de distâncias entre dois pontos e (3)
o acesso a informações como latitude e longitude de um determinado ponto no mapa.
Outras funcionalidades utilizadas no RotaCerta são: (1) a
Geocodificação, que permite acessar informações completas
como nome de rua, número, bairro, cidade, CEP e paı́s de
uma determinada localização do mapa, (2) a Geocodificação
reversa que permite obter coordenadas a partir de um endereço e (3) a exportação de dados em KML [7](gramática
criada a partir da linguagem XML), que serve para representar informações de dados geográficos em um formato padrão
e compatı́vel com diversos navegadores de mapas.
2.2
Geração de Linguagem Natural (GLN)
Sistemas de GLN usam o conhecimento sobre a linguagem e
o domı́nio da aplicação para produzir de forma automática
documentos, relatórios, entre outros [14]. Os geradores de
linguagem natural podem ser classificados em 3 categorias
(por ordem decrescente de complexidade): (1) de respostas
pré-programadas (canned text), (2) de sentenças padronizadas
(template) e (3) baseados em frases (phrase-based text generation). Cada uma destas diferem por sua complexidade e
flexibilidade dos resultados obtidos [11] .
O RotaCerta faz uso de templates. Os templates consistem
em textos pré-formados cujo grau de liberdade se resume
ao preenchimento dinâmico de slots com dados especı́ficos
do domı́nio no qual o sistema atua. Essa abordagem, apesar de menos flexı́vel, apresenta um bom tempo de resposta
se comparado às demais [8]. A implementação de NLG com
templates pode ser feita utilizando-se o padrão XML e transformações XSLT, como é mostrado em [17].
A Figura 2 ilustra a entrada, saı́da e principais componentes
de um sistema NLG. A entrada de um sistema de GLN é basicamente composto de duas partes. A primeira refere-se ao
conjunto de dados computacionais brutos que representam
as informações. Normalmente esses dados são representados
por uma ou mais base de dados para o domı́nio estudado.
A segunda é chamada de objetivo comunicativo e consiste
no propósito para o qual aquele texto está sendo gerado.
Por exemplo, [3] apresenta um estudo de caso que tem como
domı́nio o Campeonato Brasileiro de Futebol. Neste caso as
entradas do sistema são uma tabela com os resultados da
última rodada do campeonato e um objetivo comunicativo
que consiste em resumir os jogos da rodada atual que ocorreram no corrente dia; outro objetivo comunicativo possı́vel
é resumir a variação de classificação do campeonato.
O texto final de um processo de GLN deve atender às seguintes
restrições: (1) ser linguisticamente correto, (2) transmitir
claramente as informações de entrada, (3) atender ao objetivo comunicativo e (4) aparentar fluente o suficiente para
evitar uma comunicação mecânica [11]. Um outro aspecto
que pode ser levado em conta na saı́da é a forma como esse
texto será apresentado. Geralmente a saı́da corresponde a
um texto simples, mas pode ser conveniente exibi-lo em algum tipo alternativo de formato: HTML, VXML, LaTeX,
etc.
3. O SISTEMA ROTACERTA
3.1 Arquitetura
A Arquitetura do sistema RotaCerta é organizada em módulos: (1) Gerenciador de Referências (GREF) e (2) Gerador
Natural de Rotas (GNAT).
Figura 2: Pipeline das fases de um sistema NLG
O GREF é responsável por analisar o percurso desejado,
identificar os pontos de referências relevantes ao percurso
e realizar a correta asssociação dos pontos. Este módulo é
composto por dois componentes: o seletor de referências e
uma base de referências.
O GNAT é responsável por aplicar os métodos NLG para a
geração das rotas. Este módulo é composto por dois componentes: o gerador de textos natural e uma base de templates.
Além destes, existe o componente MAPS que consiste na
interface Web desenvolvida usando a Google Maps API.
O diagrama da Figura 3 ilustra a sequência de eventos envolvidos na geração de uma rota pelo sistema.
As informações de localização são passadas pelo usuário diretamente para o sistema e processadas pelo componente
aplicativo MAPS. A ferramenta “Como Chegar” do Google
Maps retorna um caminho com a rota entre dois pontos relacionados. O caminho juntamente com a base de referência
servem de entrada para o módulo GREC. O seletor analisa
o caminho desejado, seleciona dentro da base de referências
quais são úteis para aquele contexto, tendo a correta associação de pontos.
A entrada para o GNAT é o texto original gerado pelo
Figura 3: Sequência de eventos envolvidos no sistema RotaCerta
Google Maps, os pontos da rota gerada associados às referências selecionadas selecionadas e o objetivo comunicativo.
Este objetivo será apresentar rotas com pontos de referências.
A saı́da do módulo GNAT é um texto natural para rotas
com pontos de referências.
As seções 3.2 e 3.3 descrevem em mais detalhes o Gerenciador de Referências (GREF) e o Gerador Natural de Rotas
(GNAT).
3.2
3.2.1
Gerenciador de Referências (GREF)
Base de Referências
Para montar a base de referência foi solicitado a um grupo
de pessoas que marcassem no mapa pontos que eles achavam
ser referências relevantes na cidade considerada para teste
inicial do sistema. Os pontos foram marcados usando o
próprio site do Google Maps. Cada pessoa gerou um arquivo
KML contendo um conjunto de pontos com informações sobre nome do local, descrição e coordenadas (latitude, longitude). Esses arquivos foram reunidos em um arquivo KML
geral.
Não foram feitas restrições quanto ao processo de marcação
dos pontos. No entanto, as pessoas foram recomendadas a
selecionar pontos que, segundo elas, se classificariam como
referência para o público em geral. O processo de construção
da base conseguiu mapear uma boa parte da cidade de estudo, apesar de demonstrar ser um tanto trabalhoso.
3.2.2
Seletor de Referências
O componente Seletor de referências trabalha com a base de
referências. Sua função é selecionar um conjunto de referências relevantes para cada ponto na rota. Essa relevância
foi baseada primeiramente em duas restrições: (1) só foram
selecionadas referências que estivessem dentro de uma rota
de 200m; (2) só foram selecionados referências que estavam
no mesmo endereço do ponto em questão. Essas restrições
tem como objetivo eliminar referências que não seriam selecionadas no dia-a-dia.
A associação do ponto com o conjunto de referências foi feita
dentro de um arquivo XML. Esse arquivo XML é o arquivo
de entrada para o GNAT.
3.3
3.3.1
Gerador Natural de Rotas (GNAT)
Base de templates
A metodologia adotada para criação da base de templates
de trechos de rotas foi orientada a corpus. Fazendo uso do
Google Maps, colaboradores especificaram um grande conjunto de rotas para a cidade de estudo e geraram suas descrições. A partir da análise desse corpus de dewcrições
de rotas, padrões de construção de sentenças de orientação
foram identificados. A partir desses padrões, os templates
foram definidos.
A análise dos templates levou por sua vez à identificação de
caracterı́sticas capazes de identificar um conjunto de pontos
presentes em uma rota. Denominamos essas caracterı́sticas
de contextos.
Cinco diferentes tipos de contextos foram então definidos e
nomeados: (1) begin, (2) final, (3) longpath, (4) corner e (5)
normal.
XML e é resultado do processamento do componente Seletor de Referências. Este arquivo associa pontos da rota ao
conjunto de referências de acordo com as restrições discutidas na seção anterior. O pipeline apresenta 3 fases: (1)
etapa de normalização, (2) aplicação dos templates e (3) a
geração do conteúdo.
Os contexto begin e final estão relacionados a pontos que
iniciam e finalizam a rota, respectivamente. O contexto
longpath foi atribuı́do a pontos consecutivos que possuem o
mesmo endereço, por exemplo, pontos localizados ao longo
de uma grande avenida. O contexto corner refere-se a esquinas e, por fim, o contexto normal está associado a todos
aqueles pontos que não se encaixam em nenhum dos casos
anteriores.
Com esses contextos definidos e observando o corpus de templates foi possı́vel definir os templates para o RotaCerta. A
seguir estão listados cada template do RotaCerta associado
a seu contexto.
Begin:
Siga em direção do <ponto-de-referencia> na <endereco>
Final:
Chegue no destino que fica próximo a
<ponto-de-referencia> na <endereco>
Chegue no destino na <endereco>
Figura 4: Pipeline genérico da geração de texto noo
RotaCerta
A normalização consiste em determinar dentro do conjunto
de referências associadas qual de fato vai ser usada na geração de texto. Essa seleção é feita aplicando critérios de
acordo com os contextos:
Corner:
Vire na <endereco> próximo a <ponto-de-referencia>
• begin: seleciona-se a referência mais próxima ao ponto
e que esteja entre o ponto inicial e o próximo ponto.
• final: seleciona-se a referência mais próxima ao ponto
e que esteja entre o penúltimo ponto e o ponto final.
Longpath:
Siga pela <endereco>
Continue pela <endereco> passando por
<ponto-de-referencia>
• demais contextos: seleciona-se a referência mais próxima ao ponto.
Nos contextos begin e final, essa normalização retira pontos de referências que não estejam dentro da rota desejada.
Fazendo um paralelo ao pipeline NLG da Figura 2, essa fase
consiste na de Organização do Conteúdo.
Continue pela <endereco>
Normal:
Passe por <ponto-de-referencia> na <endereco>
3.3.2
A segunda etapa é a de Aplicação dos Templates (ou realização linguı́stica no pipele NLG da Figura 2). Essa etapa
tem como entrada o arquivo XML normalizado resultante da
etapa anterior. Para a aplicação automática dos templates
foi utilizada outra transformação XSLT. A transformação
utiliza mais uma vez os contextos associados para aplicar o
template adequado.
Pipeline de Geração
A Figura 4 ilustra o passo a passo genérico do processo de
geração do texto. O arquivo de entrada está no formato
A tı́tulo de ilustração, o esquema da Figura 5 mostra como
foi produzido o resultado ilustrado na Figura 7.
Figura 5: Passo a passo do processo de geração de texto do RotaCerta
A terceira e última fase é a de geração de conteúdo. A
partir do resultado final no formato XML é possı́vel gerar o
resultado em diversos formatos diferentes. Nesta fase foi utilizada mais uma transformação XSLT que mapeia o formato
XML para o resultado final em HTML para ser exibido na
aplicação Web MAPS.
4.
RESULTADOS
As figuras 6 e 7 ilustram dois exemplos de rotas geradas
pelo RotaCerta e o equivalente gerado pelo Google Maps.
Na Figura 6 foi solicitada uma rota entre a Rua Frei Paulo
e a Av. Beira Mar. A comparação se mostrou interessante
principalmente durante o percurso referente a Av. Hermes
Fontes. Esta avenida, sendo uma das principais da cidade
de estudo contém inúmeros pontos de referências, que são
descartados pela proposta do Google Maps. A proposta do
RotaCerta se mostra mais próxima ao cotidiano.
A figura 7 mostra um outro trecho da cidade. Como pode
perceber o trecho é insignificante já que o ponto inicial e final
estão próximos. O objetivo deste exemplo é verificar um dos
problemas apresentado no texto do Google Maps e mostra
como esse trabalho pode melhorar a saı́da do texto. Observe
no texto gerado pelo Google Maps que a primeira informação
é dada baseando-se em direções (neste caso, sudeste). Esse
tipo de informação é confusa e de difı́cil localização principalmente em grandes centros urbanos. O texto gerado pelo
RotaCerta usa o ponto de referência de um restaurante próximo para indicar qual direção o usuário deve seguir.
5.
TRABALHOS RELACIONADOS
O trabalho [1] apresenta uma abordagem bem próxima a
desse trabalho. O autor apresenta uma arquitetura para
serviços baseada em localização usando linguagem natural.
A importância de tratar os pontos de referências, chamados
de POI (Points of Interest), também é apresentada. Apesar
de citar a necessidade de uma reprodução vocal, o trabalho
não mostra como isso poderia ser feito e que tecnologias
podiam ser usadas. O trabalho deixa claro que o sistema
retorna apenas respostas textuais e gráficas.
[2] descreve um sistema para geração de rotas semelhante
com a proposta por esse trabalho. O sistema faz uso de
aspectos da NLG como segmentação e agregação para relacionar pontos nas rotas com referências. O sistema não faz
uso da API do Google Maps. O trabalho também aborda
importantes diferenças entre a forma como os sistemas comerciais geram textos para rotas e a maneira como os humanos
falam no dia-a-dia. Nessa análise, ele deixa bem claro o
quanto a abordagem de usar apenas distâncias e nomes de
ruas é confusa para o usuário.
Já o trabalho descrito em [15] não trata de um sistema
completo de localização, mas refere-se à integração da linguagem natural com VoiceXML. O trabalho é bem interessante por fazer uma análise tanto do processamento de
linguagem quanto da geração. Mesmo sem se prender a
uma implementação de gateway especı́fica, o autor mostra
claramente onde e como adaptar os principais componentes
do gateway. Uma vez que a integração da NLG com o
VoiceXML é considerada trivial pelo autor, seu questionamento é se essa integração é viável e se existe aplicações
que necessitam disso.
Figura 6: Rota 01 gerada através do RotaCerta
Figura 7: Rota 02 gerada através do RotaCerta
Um outro sistema de mapas é o BING MAPS[13] da Microsoft. O BING possui funcionalidades bem parecidas com
as disponibilizadas pelo Google Maps: sistema de busca de
rotas e API para desenvolvimento. Assim como no Google
Maps, o Bing Maps exibe as rotas baseadas apenas em nomes
de ruas e pontos cardeais associados.
Ligado a sistemas de localização via voz, a Google lançou recentemente o “Google Maps With Voice Searcht’t’ [6]. Apesar de interagir com sintetizador e reconhecedor de voz, a
aplicação não faz uso do VoiceXML e não leva em conta
pontos de referências.
6.
CONCLUSÃO E TRABALHOS FUTUROS
Neste trabalho, usamos a API do Google Maps juntamente
com técnicas GLN para desenvolver um sistema capaz de
gerar textos mais acessı́veis para rotas de mapas. O processo
de associação dos pontos de referências a pontos da rota
foi essencial para a qualidade do texto final. Para isto, foi
necessário definir um arquitetura e uma metodologia para o
desenvolvimento do sistema. A concepção da metodologia se
mostrou a parte mais importante e mais custosa do trabalho.
Uma vez que os pontos estavam associados, foram utilizadas
técnicas de GLN para a geração de texto. Apesar de relativamente simples, a técnica de geração com templates se
mostrou satisfatória e eficiente. O uso de técnicas mais
avançadas de GLN pode proporcionar textos mais flexı́veis
e com maior variabilidade de construções linguı́sticas.
Uma vez que foi concebido utilizando como base o sistema
de busca de localidades Google Maps, o sistema RotaCerta
pode ser utilizado por qualquer pessoa em qualquer cidade
do mundo, bastando apenas que a mesma possua pontos de
referência demarcados. Em relação à construção linguı́stica,
os templates definidos podem ser facilmente traduzidos para
a lı́ngua desejada, não representando assim uma limitação
severa.
Uma proposta para expansão deste trabalho está no uso da
WIKIMAPIA API [16] como base de referências. A API
do site Wikimapia, lançada recentemente, permite acessar
diversos pontos de referências em mapas do mundo inteiro.
Como foi visto, o RotaCerta faz uso de uma base de referência alimentada de forma manual, o que dificulta o processo
de atualização da base.
Por fim, é importante ressaltar as qualidades do sistema
RotaCerta em detrimento ao modelo de sugestão de rotas
padrão. O RotaCerta representa de fato uma alternativa
real e mais natural para orientação de percursos. O modelo
padrão de descrição de rotas baseado na indicação de nomes
de localidades e distâncias se mostra ineficiente em situações
do dia-a-dia. Nem todas as pessoas conseguem lembrar facilmente da nomeclatura das ruas, praças e avenidas. Além
disso, nem todas as cidades possuem boa sinalização com
placas informativas. Pontos de referências, ao contrário, são
normalmente lembrados e usualmente bem destacados. Informações sobre pontos cardeias e colaterais, como norte,
sul, sudeste, noroeste, etc, dificilmente são utilizadas, já que
para muitos não é tão simples identificar estas direções dentro de grandes centros urbanos, por exemplo. O uso de valores de distância a se percorrer possui utilidade caso a rota
seja percorrida por veı́culos motorizados. Para os pedestres,
essa informação possui pouca ou nenhuma utilidade.
7.
REFERÊNCIAS
[1] M. Chang-Jie and F. Jin-Yun. Interactive
location-based services combined with natural
language. In WiCom ’07: Proceedings of the
International Conference on Wireless
Communications, Networking and Mobile. IEEE
Computer Society, 2007.
[2] R. Dale, S. Geldof, and J.-P. Prost. Using natural
language generation in automatic route description.
Journal of Research and Practice in Information
Technology, 37(1), 2005.
[3] M. Fonseca and U. Bispo. Desenvolvimento de
Sistemas de Geração de Linguagem Natural Dirigidos
por Modelos, 2008.
[4] Google. Google Maps. http://maps.google.com.br
(acessado em 13 de junho de 2010), 2008.
[5] Google. Google Maps API.
http://code.google.com/apis/maps (acessado em 13 de
junho de 2010), 2008.
[6] Google. Google Maps With Voice Search.
http://www.google.com/mobile/blackberry/maps.html
(acessado em 13 de junho de 2010), 2008.
[7] Google. Kml.
http://code.google.com/intl/pt-BR/apis/kml/
(acessado em 13 de junho de 2010), 2009.
[8] A. Guimarães. Geração de Rotas Baseadas em Pontos
de Referências, 2009.
[9] J. Hightower and G. Borriella. Location systems for
ubiquitous computing. IEEE Computer, 34(8):57–66,
2001.
[10] K. E. Kendall and A. Schmidt. Mashups: The art of
creating new applications by combining two or more
web sites, 2007.
[11] H. T. Macedo. A Software Architecture for Ubiquitous
Web Browsing with Application to Recommendation
Systems. PhD thesis, Centro de Informática da
Universidade Federal de Pernambuco, 2006.
[12] T. Manesis and N. Avouris. Survey of position
location techniques in mobile systems. In MobileHCI
’05: Proceedings of the 7th international conference on
Human computer interaction with mobile devices &
services, pages 291–294, New York, NY, USA, 2005.
ACM.
[13] Microsoft. BING MAPS. http://www.bing.com/maps/
(acessado em 13 de junho de 2010), 2010.
[14] E. Reiter and R. Dale. Building Natural Language
Generation Systems. Cambridge University Press,
2000.
[15] W. Werner, M. Mittendorfer, and G. Niklfeld. Making
the voiceweb smarter - integrating voicexml and
intelligent component technologies. In 2nd
International Conference on Web Information Systems
Engineering, Kyoto, Japan, 5 2002.
[16] Wikimapia. Wikimapia API.
http://wikimapia.org/api/ (acessado em 13 de junho
de 2010), 2009.
[17] G. Wilcock. Pipelines, templates and transformations:
XML for natural language generation. In Proceedings
of the 1st Workshop on NLP and XML (NLPXML
2001), 2001.
[18] N. Zang, M. B. Rosson, and V. Nasser. Mashups:
Who? what? why? 2008.

Documentos relacionados