terça-feira, 1 de dezembro de 2009

Erros ortográficos, qualidade de textos

Um dos entraves à mineração de textos são os erros encontrados em textos.
Todo processo de mineração envolve uma etapa inicial de preparação dos dados. Não é diferente no processo de Text Mining.

Certa vez estava tentando minerar prontuários médicos de pacientes numa clínica. Eram tantos erros que distorciam os resultados. Os médicos registravam as informações com muita rapidez, sem voltar para corrigir erros (já que o trabalho deles não é este). Corretores ortográficos poderiam ajudar, mas eram erros de digitação na maioria das vezes. Tivemos que criar uma ontologia (ou thesaurus) para agrupar palavras relacionadas a um mesmo conceito, incluindo ali os erros.

Em outro projeto, um sistema de recomendação para um chat, fizemos um corretor ortográfico simples, estatístico, baseado na Sabedoria das Massas (mais ou menos como o Google usa). Usando um algoritmo de similaridade entre palavras (a função de Edit Distance chamada Levenshtein), era possível comparar as palavras digitadas no chat com todas as já utilizadas em sessões anteriores. As mais similares eram levadas para análise; a grafia mais comum era considerada a correta. Tudo isto em real time.

Abaixo vão alguns textos interessantes sobre este assunto de erros em textos.

Text Data Quality: Mistakes and More
Posted by Seth Grimes
http://intelligent-enterprise.informationweek.com/blog/archives/2009/11/text_data_quali.html;jsessionid=H0RZQT5Q2UZKPQE1GHPSKHWATMY32JVN
Text Data Quality
by Seth Grimes
http://www.b-eye-network.com/channels/1394/view/12072

On Text Data Quality
Posted by Manya Mayes
http://blogs.sas.com/text-mining/index.php?/archives/48-On-Text-Data-Quality.html

5th Text Analytics Summit SAS and Teragram Workshop
by Manya Mayes
http://www.textanalyticsnews.com/usa/presentations/SASTeragramWorkshop.pdf

Recuperação de Informações Geográficas Parte 3 - por Cleber Gouvêa

Para viabilizar a Resolução de Topônimos torna-se necessário, portanto conforme ilustrou o post anterior identificar as localidades relacionadas nos textos para posteriormente desambiguá-las visando verificar o seu sentido correto. Para viabilizar isso são utilizadas técnicas de Processamento de Linguagem Natural (ex: REM ou WSD) as quais baseiam-se na verificação de evidências (ex: termos co-ocorrentes às localidades) que possam auxiliar na identificação do sentido das localidades. Para a resolução de cada tipo de ambiguidade são utilizadas evidências específicas.

Para a ambiguidade geo/não-geo são analisadas evidências (denominadas de expressões de contexto) que aparecem junto dos topônimos alvo (ex: "cidade de", "nos arredores de") que auxiliem na identificação de seu caráter geográfico. Já para a ambiguidade geo/geo torna-se necessário a verificação de entidades que auxiliem na identificação correta da posição geográfica da localidade, para isso as estratégias baseiam-se na identificação de evidências que representem o estado ou país relacionado a localidade a ser desambiguada, como ilustra o exemplo abaixo.

Exemplo Desambiguação Geo/Geo

Para a desambiguação geo/geo outra estratégia comum é a utilização de heurísticas (ex: considerar como sentido correto a localidade que possuir maior número de habitantes, ou a que representa alguma capital).

Para possibilitar a inferência dessas evidências nos textos estas são armazenadas em gazetteers, podendo ser incluídas nessas estruturas de forma manual (abordagem baseada em conhecimento) ou automaticamente (aprendizagem automática). O primeiro método depende de um especialista humano, já o segundo busca a obtenção automática dessas evidências utilizando pra isso análise de corpora previamente anotada.

A abordagem manual é útil apenas para domínios específicos (ex: para o georreferenciamento de textos de um conjunto limitado de informações ou linguagens específicas), para viabilizar a identificação de evidências em larga escala torna-se necessário, no entanto a utilização de métodos automáticos. Para serem viáveis estes devem, contudo serem simples e extensíveis, não necessitando de anotação de grandes quantidades de textos e também permitindo o suporte a variados tipos de idiomas, o que devido às características específicas das linguagens apresenta-se como um desafio importante.

Após a resolução dos topônimos encontrados nos textos estes podem ser representados com o auxílio dos gazetteers a partir de coordenadas geográficas, viabilizando assim todas as aplicações apresentadas no primeiro post.

Para a identificação das coordenadas geográficas relacionadas às localidades vários serviços de geo-codificação encontram-se disponíveis, dentre os principais estão o Geonames e a Yahoo Geo-Coding API.

Para mais informações sobre geotagging e os desafios envolvendo o georreferenciamento de textos os seguintes livros são importantes referências:

Georeferencing: The Geographic Associations of Information

The Geospatial Web

Há também várias conferências e workshops sobre o assunto, os principais são o GIS e o GIR (foco acadêmico) e Where 2.0 (foco comercial).

Na web utilizem algumas destas palavras-chave (em inglês porque o conteúdo em português ainda é limitado):

- Geographic Information Systems
- Geographic Information Retrieval
- Geolocation
- Geotagging
- Geobrowsers
- Neogeography
- Geospatial Web
- Geoweb
- Georeferencing

Recuperação de Informações Geográficas Parte 2 - por Cleber Gouvêa

Conforme ilustrou o post anterior, como na web não há nativamente mecanismos para a identificação do contexto geográfico das informações, a Recuperação de Informações Geográficas (RIG), área surgida a partir da demanda por uma pesquisa integrada entre os Sistemas de Informação Geográfica e a Recuperação de Informações tradicional[1] tem sido alvo de intensa pesquisa, podendo integrar-se também a outras áreas específicas.




Figura Áreas Relacionadas à RIG
Fonte: https://dspace.ist.utl.pt/bitstream/2295/154018/1/GeographicalR.ppt

O foco central é lidar com todos os problemas da Recuperação de Informações que envolvam algum tipo de consciência espacial (spatial awareness), ou seja, que incluam referências geográficas (georreferências), visando auxiliar dessa forma na identificação e recuperação das informações de acordo especificamente com seu contexto geográfico.

O processo de identificação do contexto geográfico de textos é denominado de (geotagging [2] e envolve duas etapas principais:

Geo-Parsing - tem o objetivo de reconhecer as referências geográficas nos textos ignorando nomes de localidades que não possuam sentido geográfico (ex: nomes de pessoas com o mesmo nome de localidades).

Geo-Coding - busca desambiguar as localidades recuperadas, ou seja, associar cada localidade a apenas uma única localização geográfica (footprint). Como os textos podem possuir mais que uma localidade desambiguada torna-se necessário também definir algoritmos de ranqueamento específicos visando qualificar as localidades de acordo com o seu grau de associação com o texto.

Para viabilizar a execução destas etapas os dois principais componentes utilizados são:

Gazetteer / Ontologia Geográfica - Os quais buscam representar e estruturar os relacionamento semânticos entre as localidades, incluindo também outros detalhes relacionados a elas (ex: coordenadas geográficas, e outras entidades que auxiliem nos processos de georreferenciamento). Dependendo da complexidade da sua estrutura podem ser simples dicionários geográficos (gazetteers) ou complexas ontologias geográficas.

Índice Espacial - O qual tem o objetivo de auxiliar no processo de recuperação de informações geográficas representando as informações georreferenciadas. Associam dessa forma os documentos às localidades representadas por eles, podendo utilizar também algum algoritmo de relevância para qualificar esse relacionamento. O objetivo é permitir com isso a recuperação de documentos de acordo com a sua relevância para determinada localidade(relevância spacial) utilizando os mesmos princípios da recuperação de informação tradicional (que utiliza, no entanto a relevância temática).

Como os topônimos (ex: cidades, países, etc.) conseguem identificar precisamente determinada região espacial eles têm sido priorizados para a identificação do contexto geográfico dos textos. Esse processo denominado de Resolução de Topônimos [3] traz, contudo desafios específicos já que principalmente do ponto de vista linguístico um topônimo pode possuir variados tipos de ambiguidade. Essas ambiguidades são divididas habitualmente em [2]:

Ambiguidade Geo/Não-Geo - quando uma localidade possui ambiguidade com outro tipo de entidade não-geográfica (ex: São Paulo cidade e São Paulo time de futebol).

Ambiguidade Geo/Geo - ocorre quando uma localidade possui ambiguidade com outro tipo de localidade (homonímia), por ex: Belém (no Pará) e Belém (na Paraíba) ou mesmo ambiguidade entre cidades/estados por ex: Rio de Janeiro (cidade) e Rio de Janeiro (estado). Outra ambiguidade desse tipo é quando uma localidade pode ser identificada por meio de outras definições (sinonímia), ex: Rio de Janeiro e "Cidade Maravilhosa" ou "Rio".

As técnicas utilizadas para a Resolução de Topônimos são apresentadas no próximo post.

Referências

1. Larson, R.R., Geographical information retrieval and spatial browsing. Geographical Information Systems and Libraries: Patrons, Maps, and Spatial Information. pp. 81-124. 1996.

2. Amitay E., Har’el N., Sivan R., Soffer A., Web-a-where: Geotagging Web Content. In Proceedings of the 27th SIGIR, pages 273–280, 2004.

3. Leidner J. L., Toponym Resolution in Text - Annotation, Evaluation and Applications of Spatial Grounding of Place Names. Edinburgh: Institute for Communicating and Collaborative Systems, 287p. 2007 (Tese, Doutorado em Ciências da Comunicação).

segunda-feira, 2 de março de 2009

Recuperação de Informações Geográficas Parte I - por Cleber Gouvêa

Parte I: Contribuição do Cleber Gouvêa com revisão de Stanley Loh:

A internet como um mundo de pontas e a web, sua progênie mais famosa, compartilham características e ao mesmo tempo desafios importantes relacionados ao acesso às informações.
Grande parte das consultas na web tem o foco geográfico [1] e com isso serviços que recuperam e analisam informações geográficas tem aproveitado a grande quantidade desse tipo de informação na web tornando-se assim parte importante da vida de milhões de pessoas.

Para viabilizar o acesso e permitir a estruturação de informações geográficas, formatos específicos tem sido criados com a ajuda da OGC (Open Geospatial Consortium), sendo que os dois principais já reconhecidos são o GeoRSS e o KML.

Com o suporte dos geobrowsers (Google Maps, Live Local, Yahoo Maps) a esses arquivos e com a possibilidade da sobreposição das informações diretamente nos mapas, estes formatos tem sido apontados como núcleo da Web Semântica Geoespacial[2] (definida por Max J. Egenhofer) a qual tem por "objetivo a definição semântica e a consequente viabilização do consumo de informações geográficas".





Novo Desafio para os sistemas de busca

Naturalmente que as possibilidades da identificação do contexto geográfico das informações não se restringem aos geobrowsers. Dispositivos móveis com acesso a web e integrados com serviços de geo-localização (ex: GPS) podem realmente levar os motores de busca na web para uma terceira geração [3] (alguém já pensou em desambiguar e consequentemente direcionar as informações de acordo com a localidade do usuário?), o Google Android, o G1 e as APIs semânticas estão aí...

Informações mobile-like ultrapassam assim em relevância as acessíveis através de nossos desktops. A consideração do contexto (temporal, local) do usuário torna-se, portanto um fator crucial para aumentar a importância e a facilidade da pesquisa no futuro.






“Onde quer que você esteja ou vá, obtenha informações relevantes à sua localização.”

RSS X GeoRSS

Se fizermos uma pesquisa entre os principais portais e blogs do mundo veremos uma alta adoção do formato RSS ou Atom para a estruturação das informações e uma pequena ou talvez ínfima utilização de GeoRSS ou KML. Por quê ?
Infelizmente a anotação semântica de informações geográficas é um processo dispendioso, mesmo com o buzz da colaboração na web. O fato é que muitas vezes para o resposável pelo conteúdo pode ser inviável essa anotação particular das informações. Métodos automáticos estão consequentemente ganhando popularidade.

Nesse sentido as estratégias top-down, ou seja o reconhecimento do contexto geográfico dos textos (processo definido como geotagging) utilizando pra isso métodos automáticos têm se apresentado como os mais viáveis.

O processo de geotagging é estudado pela RIG (Recuperação de Informações Geográficas), a qual será o foco do próximo post.

Referências

1. Sanderson M., Kohler J. Analyzing geographic queries. In SIGIR Workshop on GIR, 2004.
2. Egenhofer, M. J., Toward the Semantic Geospatial Web. National Center for Geographic Information and Analysis. Department of Spatial Information Science and Engineering. Department of Computer Science. Main. 2002.
3. Andrei Broder, “The Next Generation Web Search and the Demise of the Classic IR model “, ECIR 2007, Roma, Itália, Abril 2007.