Você está na página 1de 36

parte

5
aplicações
322 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

Aplicações

Conforme comentado no capítulo de introdução deste livro, técnicas de AM têm sido utilizadas com reconhe-
cido sucesso para a solução de vários problemas reais. Alguns desses problemas foram brevemente comentados, em
alguns casos com exemplos de conjuntos de dados.
A primeira etapa no uso de AM em problemas reais é compreender o problema, quais são suas principais
características e o que se espera de uma boa solução. Por exemplo, o problema é descritivo ou preditivo? Quantos
e quais são os atributos de entrada? Existem valores ausentes? Os dados disponíveis apresentam ruído? Qual o ta-
manho do conjunto de dados? Novos dados são continuamente gerados? Esse entendimento vai definir as possíveis
técnicas a serem utilizadas e os procedimentos a serem adotados.
Os dados em aplicações reais podem apresentar diferentes formatos, como tabelas atributo-valor, séries tem-
porais, itemsets, transações, grafos ou redes sociais, textos, páginas web, imagens (vídeos) e áudios (músicas). Em
geral, como visto no Capítulo 2, dados nesses formatos precisam ser transformados para o formato atributo-valor,
embora existam algoritmos que lidem com formatos de dados não estruturados diretamente.
É de fundamental importância observar vários aspectos ao utilizar técnicas de AM em aplicações reais. Vários
desses aspectos já foram comentados em capítulos anteriores que discutem procedimentos para planejamento de
experimentos e análise de resultados. No desenvolvimento de uma ferramenta computacional que utiliza técnicas
de AM, o desempenho da técnica no problema abordado deve ser experimentalmente validado.
O planejamento dos experimentos a serem realizados é essencial para a obtenção de resultados, e consequen-
temente conhecimentos, válidos. Todo o esforço despendido na realização de experimentos pode ser perdido se
um planejamento adequado não for realizado. Adicionalmente, os resultados obtidos nos experimentos realizados
precisam ser avaliados nas métricas apropriadas e devem ser analisados por meio de medidas estatísticas, como, por
exemplo, testes de hipóteses. Existem várias métricas para análise de desempenho, como erro quadrático médio,
área sob a curva ROC e índice silhueta. A escolha da métrica a ser utilizada depende da natureza do problema e dos
dados disponíveis. Testes de hipóteses permitem afirmar que uma certa técnica, ou variação de uma técnica, apre-
senta um desempenho melhor que outra com uma certa margem de confiança. Um grande número de testes pode
ser utilizado, cada um mais adequado para uma dada situação.
Em alguns problemas, operações de pré-processamento e transformação podem ser necessárias. Decidir que
operações devem ser realizadas, qual a sequência com que elas serão realizadas e que técnicas utilizar em cada uma
dessas operações pode exercer uma forte influência na qualidade da solução desenvolvida.
A forma como as possíveis soluções ou hipóteses induzidas por técnicas de AM, assim como ocorre com o
processo de indução, também pode variar de acordo com a aplicação. Uma técnica de AM pode ser utilizada em um
problema de classificação em que a acurácia preditiva não é a única medida de desempenho relevante. Por exemplo,
o desenvolvimento de ferramentas baseadas em AM para serem utilizadas em dispositivos móveis, em geral, precisa
limitar a quantidade de memória utilizada. Outro exemplo é o uso de técnicas de AM em aplicações que precisam
lidar com fluxos contínuos de dados. Nessas aplicações, o algoritmo de treinamento selecionado pode precisar ser
utilizado um grande número de vezes, favorecendo algoritmos de menor custo computacional.
Neste capítulo, são apresentados grandes grupos de aplicações que possuem alguns dos principais problemas
em que técnicas de AM são utilizadas com sucesso. Vários dos problemas descritos podem estar em diferentes gru-
pos, que foram escolhidos para aumentar a homogeneidade das aplicações em cada um deles. Os grupos de aplica-
ções abordados nos próximos capítulos são os seguintes:
ƒƒ Agronegócios;
ƒƒ Análise de sentimento;
ƒƒ Bioinformática;
ƒƒ Ecologia e meio ambiente;
ƒƒ Energia;
ƒƒ Filtragem de mensagens indesejadas;
ƒƒ Finanças;
Parte 5 • Aplicações 323

ƒƒ Mineração de dados (incluindo textos e Web);


ƒƒ Robótica;
ƒƒ Saúde;
ƒƒ Sistemas de perguntas e respostas;
ƒƒ Sistemas de recomendação.
Deve ser observado que muitos problemas estão ligados a mais de uma área. Por exemplo, um problema na área
de agronegócios, como melhoramento genético de soja, pode também estar relacionado com bioinformática e ao
meio ambiente. A seguir, será apresentada uma curta descrição de cada um desses grupos, juntamente com alguns
exemplos de problemas pertencentes a cada um deles.
Capítulo
24
Agronegócios
Embora o Brasil possua uma grande fatia do mercado mundial do setor de agronegócios,
existe um grande espaço para uma melhor exploração desta atividade econômica. A qua-
lidade, a quantidade e a lucratividade do que é produzido no país e a minimização do
impacto ambiental associado podem se beneficiar da incorporação da IA, em particular
de AM, para uma análise inteligente dos dados que são gerados.
Dentre os problemas que podem ser tratados por algoritmos de AM, podem ser
citados: definição de logísticas de armazenamento e transporte, redução de perdas e
desperdícios, manejo racional do cultivo e do solo, combinação de diferentes culturas;
barateamento e expansão da produção agrícola, sem prejuízos ao meio ambiente, recu-
peração de áreas desmatadas e/ou degradadas; previsão e controle de pragas e epidemias,
monitoramento em tempo real de animais e de safras, agricultura de alta precisão, pre-
visão do preço de commodities e melhoramento genético. Em vários desses problemas,
dados são continuamente gerados, sendo, por isso, candidatos naturais à aplicação de
técnicas de análise de fluxos contínuos de dados.
Tarefas de classificação, regressão, agrupamento de dados e mineração de padrões
frequentes têm sido utilizadas em vários dos problemas mencionados. Algumas das apli-
cações reportadas na literatura são descritas brevemente a seguir.
Uma das primeiras aplicações de AM na pecuária foi a estimação de gordura intra-
muscular em carne bovina por RNAs (Mccauley et al., 1994). Nesse trabalho, foram utiliza-
das imagens de carnes, obtidas por meio de ultrassom. De cada imagem, foram extraídas
14 medidas relacionadas com a textura da carne, baseadas em descritores de Haralick
(Haralick et al., 1973). Dessas medidas, uma foi eliminada, e cada uma das demais foi
representada por dois valores: média e variação. Foram utilizadas imagens de 159 bois de
diferentes cruzamentos. Foram realizados experimentos para previsão tanto do valor da
taxa de gordura quanto de classificação das carnes em três intervalos de taxa de gordura.
A RNA utilizada nos experimentos foi a rede ALN (do inglês Adaptive Logic Networks)
(Armstrong et al., 1991).
Outro trabalho que também utilizou AM para avaliar qualidade de carne, mas agora
de carne de carneiro, foi publicado em Cortez et al. (2006). Nesse artigo, são apresentados
resultados comparativos entre SVMs, RNAs e regressão múltipla em duas tarefas de re-
gressão para avaliar a maciez de carnes de carneiro. O conjunto de dados utilizados é for-
mado por 81 animais. Em uma primeira fase, 12 medidas, como sexo do animal, origem
do animal, pH da carne, temperatura da carcaça, índice de cor vermelha da carne, foram
extraídas de cada animal para serem utilizadas como atributos de entrada. Uma técnica
Capítulo 24 • Agronegócios 325

de seleção de atributos baseada em análise de sensibilidade foi utilizada para reduzir o número de atributos de entra-
da. Dois valores foram coletados para atributo de saída, o sabor da carne definido por um painel de 12 especialistas e
a força de cisalhamento Warner-Bratzler, que é uma medida mecânica muito utilizada para avaliar a maciez de uma
carne. Cada um desses rótulos foi utilizado em um problema de regressão. Os dados apresentaram valores ausentes
para os rótulos de alguns animais. Esses animais foram descartados para gerar dois outros conjuntos de dados.
Na área de agricultura, uma aplicação frequente de algoritmos de AM é para a avaliação da qualidade de vinhos.
Em Policastro et al. (2007), um sistema de RBC com adaptação automática de casos é utilizado para classificação
de vinhos. Foi utilizada uma base de casos contendo 289 desses casos. A parte de descrição de cada caso é formada
por 9 medidas obtidas por sensores de paladar em uma língua eletrônica. A solução de cada caso é formada por 3
valores referentes a pH, índice de absorção e escore de sabor. Uma combinação de classificadores utilizando RNAs
do tipo MLP, SVMs e o algoritmo de indução de árvores de regressão M5 foi utilizada para a adaptação dos casos.
Em vez de uma língua, um nariz eletrônico é utilizado em Masulli et al. (2002) para classificação de cafés.
Nesse trabalho, o nariz é utilizado para distinguir entre duas classes: um único tipo de café e uma mistura de di-
ferentes tipos de café. O conjunto de dados possui 187 exemplos de cafés com combinação de grãos de diferentes
tipos (originados de 7 misturas) e 225 exemplos de cafés de um único tipo (para 6 tipos diferentes e o café expresso
italiano). O nariz eletrônico possui 6 sensores, gerando assim 6 atributos de entrada para cada exemplo. Técnicas de
processamento de sinais foram aplicadas aos sinais obtidos dos sensores, com o objetivo de melhorar a qualidade
dos dados. Nos experimentos realizados, um algoritmo de boosting cujos classificadores fracos são RNAs do tipo
MLP foi comparado a RNAs do tipo MLP utilizadas individualmente.
Outra área em que o uso de algoritmos de AM pode trazer grandes benefícios é a de agricultura de precisão.
A agricultura de precisão busca reduzir os custos de produção e a contaminação do solo com o auxílio da tecnologia
da informação. Em Bauer et al. (2019), os autores investigam a aplicação de redes neurais profundas, em conjunto
com técnicas de visão computacional, para contar a quantidade de pés de alface e avaliar a qualidade de cada pé
em uma plantação. Para isso, uma rede neural convolucional é treinada com 1.000.000 imagens de folhagens de pés
de alfaces para avaliar a qualidade dos pés e medir o tamanho da sua folhagem. Em seguida, o algoritmo de agru-
pamento de dados k-médias é utilizado para agrupar os pés de acordo com o tamanho da folhagem em pequeno,
médio e grande, o que vai definir a qualidade do pé e seu preço de venda.
Capítulo
25
Análise de Sentimento
Pesquisas de mercado, de maneira geral, são componentes essenciais do plano de marke-
ting de qualquer empresa. Elas determinam a estratégia, informam a alocação de recur-
sos e ajudam as empresas a entenderem e se conectarem com seus clientes. Saber a opi-
nião das pessoas, entretanto, não é importante apenas para as empresas. Provavelmente,
o interesse na opinião de outros indivíduos é quase tão antigo quanto a própria comuni-
cação, sendo uma importante peça de informação para a maioria das pessoas durante o
processo de tomada de decisão.
Neste contexto, a análise de sentimento procura sumarizar a opinião de um grupo
de pessoas sobre um determinado assunto. Trata-se de uma tarefa difícil até mesmo para
o julgamento humano, variando de pessoa para pessoa o que se entende por ser positivo
ou negativo e a intensidade expressa em uma determinada opinião. Estudos nesta área
normalmente fazem uso de recursos de Processamento de Linguagem Natural e Apren-
dizado de Máquina.
Existem diversas aplicações para a análise de sentimentos. Uma das mais conheci-
das é o auxílio a empresas na avaliação da opinião dos seus clientes com relação aos pro-
dutos ou serviços comercializados. Outras aplicações envolvem pesquisas de mercado,
monitoramento da reputação de marcas e produtos, análise de experiências dos usuários
ou potenciais clientes, entre outras.
Até pouco tempo, o desafio imposto por esta tarefa era obter opiniões suficientes
que representassem as comunidades interessadas. Hoje, o desafio é processar e sumarizar
o número expressivo de opiniões disseminadas diariamente em sites e redes sociais. Com
a popularização da internet, é possível descobrir as opiniões e as experiências de um
vasto grupo de pessoas que não são conhecidos pessoais nem críticos profissionais. As
pessoas não estão somente buscando opiniões na internet, elas também estão disponibi-
lizando suas opiniões para estranhos. Os dados podem ser coletados de múltiplas fontes,
dentre as quais destacam-se:
ƒƒ Redes sociais (por exemplo, Facebook, Twitter, Reddit);
ƒƒ Sistemas de compartilhamento de opiniões e avaliações (por exemplo, TripAd-
visor, Foursquare, Yelp);
ƒƒ Opiniões postadas em sites de e-commerce (por exemplo, Amazon, eBay, AliExpress);
ƒƒ Portais de serviço de atendimento ao consumidor.
O aumento na quantidade de trabalhos científicos sobre análise de sentimento está
diretamente relacionado com o crescimento na oferta de recursos vastos em opiniões
Capítulo 25 • Análise de Sentimento 327

(Liu, 2012). Mäntylä et al. (2016) realizaram uma revisão da literatura com intuito de responder algumas perguntas
sobre a pesquisa na área. Foram encontrados aproximadamente 7000 artigos disponíveis na literatura, publicados
desde 1940 até 2018, sendo que 99% deles surgiram após 2004. O resultado deste trabalho conta a história da evo-
lução da pesquisa na área.
Enquanto aplicação de AM, a análise de sentimento envolve uma série de métodos, técnicas e ferramentas uti-
lizados para detectar e extrair informações subjetivas, como opinião e atitudes de pessoas, a partir de textos escritos
em linguagem natural (Pang e Lee, 2008; Liu, 2010). Tradicionalmente, análise de sentimento está relacionada com
detecção de polaridade, ou seja, se alguém tem uma opinião negativa, positiva ou neutra em relação a algo. Geral-
mente, a opinião expressada é sobre um produto ou serviço cuja crítica foi escrita e tornada pública na internet, o
que explica o fato de “detecção de polaridade”, “mineração de opinião” e “análise de sentimento” serem frequente-
mente usadas como sinônimos.
Existem diversas maneiras distintas de expressar críticas e opiniões, que variam de acordo com as caracterís-
ticas das próprias aplicações. Sites específicos, como os especializados em críticas de filmes, permitem que usuários
escrevam textos relativamente longos. Os microblogs e redes sociais, por outro lado, impõem limites na quantidade
de caracteres das mensagens e não são ambientes exclusivamente destinados para publicação de críticas.
O modelo mais tradicional de expressar opinião sem ser diretamente por texto é o binário, indicando senti-
mento positivo (like) ou negativo (dislike) a respeito de algo. Com o tempo, surgiram formas diferentes da binária.
Os humanos, por exemplo, podem ter opinião neutra acerca de algo ou podem expressar sentimentos com diferen-
tes níveis de intensidade. Nos sites de comércio eletrônico, é comum a opinião ser expressa por um pequeno texto,
seguida de um sentimento reportado em uma escala definida por 5 estrelas ou notas no intervalo de 0 a 10, e quanto
mais estrelas (ou maior a nota), maior é a satisfação do usuário.
Dado o volume muito grande de opiniões que pode ser gerado em um pequeno intervalo de tempo, a utiliza-
ção de recursos humanos para analisar uma por uma não é viável. Com o emprego de recursos computacionais, é
possível utilizar técnicas de Aprendizado de Máquina, as quais simulam a decisão humana baseando-se em conheci-
mento prévio daquilo que se propõem a analisar. Na tarefa de detecção de opinião automática, as soluções baseadas
em métodos de classificação se tornaram recorrentes na literatura (Denecke, 2008; Pang et al., 2002).
Os estudos voltados para aplicar processamento de linguagem natural e Aprendizado de Máquina na análise de
sentimentos tornaram-se abundantes. No entanto, ainda é uma tarefa desafiadora identificar a polaridade de men-
sagens extraídas das redes sociais. Isso se deve ao fato de as amostras normalmente serem curtas e ruidosas, repletas
de gírias, abreviações e símbolos. Além disso, as opiniões podem conter sarcasmos e ironias ou até mesmo expressar
sentimentos conflitantes em uma mesma mensagem.
Além das mensagens ruidosas, há outros problemas bem conhecidos na literatura, como frases sarcásticas ou
irônicas, discernimento de palavras ambíguas em um determinado contexto (polissemia) ou ocorrência de dife-
rentes palavras com o mesmo significado (sinonímia). Os exemplos a seguir ilustram algumas dessas dificuldades.
ƒƒ Em “What a great car! It stopped working in two days”, o adjetivo positivo “great” é usado para expressar uma
opinião negativa ironicamente.
ƒƒ Em “This vacuum cleaner really sucks”, a palavra “sucks” é empregada de forma positiva, embora ela seja
normalmente empregada para expressar uma opinião negativa.
ƒƒ Em “I am going to read a book” e “I am unable to book that hotel”, a palavra “book” possui diferentes signifi-
cados, caracterizando a polissemia.
ƒƒ Em “I bought a gift” e “I purchased a gift”, as palavras “bought” e “purchased” têm o mesmo significado,
caracterizando a sinonímia.
ƒƒ Em “I love the screen, but hate the battery”, há duas opiniões conflitantes sobre o produto (celular), sendo
uma para cada aspecto: tela e bateria.
Problemas como sinonímia e polissemia podem ser minimizados por meio da indexação semântica, empre-
gada para realizar a desambiguação de palavras. Tal técnica traça a relação de significados dos termos, permitindo
encontrar termos com significados próximos ou polissêmicos no contexto da mensagem. Em geral, o emprego
328 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

eficiente dos dicionários é condicionado à qualidade da extração dos termos das amostras. Os métodos de indexa-
ção semântica e desambiguação de palavras são discutidos com mais detalhes no Capítulo 23.
As duas principais abordagens utilizadas em aplicações de análise de sentimento são a supervisionada e não
supervisionada. Na abordagem supervisionada, algoritmos supervisionados de Aprendizado de Máquina são em-
pregados (por exemplo, naive Bayes, SVM e redes neurais artificiais) e, portanto, são necessárias amostras rotuladas
(Pang et al., 2002; Liu, 2012; Lochter et al., 2016). Na abordagem não supervisionada, geralmente é utilizado algum
tipo de dicionário de sentimento (Turney e Littman, 2003; Denecke, 2008).
Capítulo
26
Bioinformática
A Bioinformática é um campo interdisciplinar que consiste na aplicação de técnicas matemá-
ticas, estatísticas e computacionais para a resolução de problemas provenientes da Biologia
(Setubal e Meidanis, 1997), com destaque para a área de Biologia Molecular. Essa área trata do
estudo dos organismos e seu funcionamento a partir das moléculas básicas que os constituem
(RNA, DNA e proteínas) e suas interações. Um exemplo particular se refere ao estudo do
genoma dos organismos, que representa o seu conjunto de informações genéticas.
Os estudos em Bioinformática beneficiam várias áreas, tais como Medicina, Farmá-
cia e Agricultura. É possível, por exemplo, obter uma melhor compreensão da origem
de diversas doenças, o que permite a formulação de tratamentos médicos mais efica-
zes, assim como o desenvolvimento de novos medicamentos. Outro exemplo se refere
aos alimentos provenientes de organismos geneticamente modificados, área em que as
investigações em Bioinformática também permitem um maior controle e melhoria no
desenvolvimento desses novos organismos.
As pesquisas em Bioinformática, atualmente, são fortemente centradas na análise
dos grandes volumes de dados gerados em laboratórios, visando tratar problemas, como,
por exemplo, a identificação de genes relacionados com determinadas doenças, como
câncer (Wang et al., 2005; Song e Rajasekaran, 2010). Com o objetivo de obter procedi-
mentos automáticos para tal, recursos e técnicas computacionais vêm sendo largamente
empregados na análise desses dados, com um destaque crescente para o uso de técnicas
de AM, que são capazes de lidar com grandes quantidades de dados, mesmo na presença
de ruídos (muito comuns nos dados de Biologia Molecular) e na ausência de teorias ge-
rais (Baldi e Brunak, 1998).
Entre os problemas de Bioinformática em que técnicas de AM já foram e/ou conti-
nuam sendo aplicadas com sucesso, destacam-se:
ƒƒ Análise da estrutura de proteínas: as proteínas são moléculas presentes no
meio celular que possuem diversas funções biológicas, entre elas estruturais e
regulatórias. De uma maneira simplificada, pode-se dizer que as funções e pro-
priedades de uma proteína são determinadas por sua estrutura tridimensional.
Uma área importante que tem o apoio de técnicas de AM é a análise das sequên-
cias de aminoácidos das proteínas com o objetivo de determinar sua estrutura.
Entre os algoritmos de AM empregados para esse fim, pode-se destacar as redes
neurais artificiais, incluindo as redes profundas (Bohr, 1999; Wang et al., 2016;
Zhang et al., 2018) e os algoritmos genéticos (Unger, 2004), entre outros (Cheng
et al., 2008).
330 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

ƒƒ Localização de proteínas no meio celular: a partir da sequência de aminoácidos de uma proteína (ou atri-
butos extraídos delas), o objetivo é prever sua localização na célula (membrana, núcleo etc.). O local em que
uma proteína atua está fortemente relacionado com a sua função. Esse problema pode ser modelado como
uma classificação multiclasse ou multirrótulo, pois diversas proteínas atuam em locais distintos no meio
celular. Entre as técnicas de AM mais utilizadas na literatura correlata ao problema em questão, encontram-se
as máquinas de vetores de suporte (Hua e Sun, 2001; Garg et al., 2005; Lorena e Carvalho, 2007).
ƒƒ Predição da função de proteínas: o interesse nesse caso está na previsão da função de proteínas a partir
de suas sequências de aminoácidos (ou de atributos extraídos delas). Muitas vezes, os tipos de funções se
relacionam de maneira hierárquica, configurando um problema de classificação hierárquico. Adicional-
mente, uma mesma proteína pode ter mais de uma função associada a ela, o que pode tornar o problema
de classificação, além de hierárquico, multirrótulo. Diversas técnicas de AM supervisionado vêm sendo
empregadas na solução desse problema, tais como máquinas de vetores de suporte, redes neurais artificiais,
naive Bayes, k-vizinhos mais próximos (Freitas e de Carvalho, 2007; Costa et al., 2008; Cerri et al., 2009;
Cerri e Carvalho, 2010).
ƒƒ Alinhamento de sequências: o objetivo nesse caso é alinhar sequências relacionadas, dada uma função
de custo. Com isso, é possível explorar o grau de similaridade entre cadeias de DNA, mRNA ou proteínas.
Um grau de similaridade elevado indica uma alta probabilidade de as funções executadas pelas moléculas
comparadas serem semelhantes. Pode-se então inferir, por exemplo, funções de novas proteínas até então
desconhecidas, ou identificar possíveis mutações genéticas. O alinhamento pode ser utilizado também para
medir a distância evolutiva entre duas ou mais espécies (Shamir et al., 2001). Algoritmos genéticos são lar-
gamente utilizados neste contexto (Notredame e Higgins, 1996; Gondro e Kinghorn, 2007).
ƒƒ Identificação de genes em sequências de DNA: compreende o reconhecimento e a localização de cada
gene em sequências de DNA. São normalmente utilizadas duas abordagens na realização dessa tarefa (Cra-
ven e Shavlik, 1994). A primeira envolve determinar sinais que podem ser identificados nas sequências e
que indicam situações especialmente adequadas à localização de genes. A segunda abordagem, denomi-
nada busca por conteúdo, procura por padrões nas sequências que determinem regiões do DNA que são
codificadas em proteínas. Bandyopadhyay et al. (2008) discutem trabalhos que usam técnicas como árvores
de decisão, raciocínio baseado em casos, redes neurais artificiais e algoritmos genéticos.
ƒƒ Estudos de associação do genoma inteiro: do inglês, Genome Wide Association Studies (GWAS), envolvem
a comparação do genoma completo de um grupo de indivíduos para identificar variações associadas a uma
característica ou a um fenótipo (uma doença, por exemplo). Esse tipo de estudo pode resultar na identifica-
ção de elementos de interesse, tais como genes relevantes para diagnóstico, descoberta de medicamentos e
mesmo para medicina de precisão. Diversos trabalhos têm empregado técnicas de AM com diversos obje-
tivos nesse tipo de análise. As técnicas variam desde abordagens mais simples como de regressão logística,
passando por técnicas de combinação de estimadores até as redes neurais profundas (Romagnoni et al.,
2019; Liu et al., 2019; Nicholls et al., 2020).
ƒƒ Análise de expressão gênica: a expressão gênica é o processo pelo qual a sequência codificada em um gene
é utilizada para a produção de proteína ou RNA funcional. O objetivo na análise desses dados é verificar pa-
drões no nível de expressão de diferentes genes (por exemplo, a “quantidade” de proteínas que eles produ-
zem). As técnicas atuais permitem identificar o nível de expressão de todos os genes do genoma de um in-
divíduo simultaneamente. Com isso, é possível, por exemplo, comparar o perfil de expressão de indivíduos
saudáveis e doentes e identificar mudanças na expressão de alguns genes perante a doença, possibilitando
assim identificar alvos para futuros medicamentos e/ou terapias gênicas. Técnicas de AM supervisionado
e não supervisionado são amplamente aplicadas na análise de dados de expressão gênica, variando desde
abordagens mais simples, como PCA e KNN, até a combinação de estimadores e redes neurais profundas
(Souto et al., 2003; de Souza et al., 2010; van IJzendoorn et al., 2019).
ƒƒ Previsão de interação entre proteínas: a maioria das proteínas desempenha seu papel nos organismos
por meio de interações com outras moléculas, frequentemente outras proteínas (Shoemaker e Panchen-
ko, 2007a,b). As interações entre proteínas, conhecidas como interações proteína-proteína, permitem que
Capítulo 26 • Bioinformática 331

cientistas possam predizer a sequência de reações e processos que ocorrem nas células. Isso ajuda a enten-
der a função das proteínas e o desenvolvimento de novos medicamentos. O conhecimento das interações
em um grupo de proteínas possibilita ainda construir redes de interações. Essas redes ajudam a entender
os princípios gerais seguidos por sistemas biológicos. Técnicas de AM supervisionado, como naive Bayes,
máquinas de vetores de suporte, modelos múltiplos preditivos, redes neurais profundas, além de técnicas
de agrupamento como k-médias e algoritmos hierárquicos, têm sido utilizadas com sucesso neste contexto
(Qi et al., 2005; Yu et al., 2010; Chen et al., 2019; Sarkar e Saha, 2019).
Técnicas de mineração de texto também têm sido utilizadas em várias aplicações de Bioinformática, como
as mencionadas. Elas são utilizadas, por exemplo, para incorporar, automaticamente, nas respectivas abordagens,
componentes extraídos da literatura relevante. Por exemplo, em recuperação de informação, além das já tradicionais
buscas que as várias bases de dados científicas na área permitem, também há bases que propiciam a identificação
da relação entre entidades biomédicas como doenças, genes e proteínas, a partir da integração de dados textuais da
literatura, dados de sequências e de outras bases específicas (Badal et al., 2015; Papanikolaou et al., 2015).
A crise mundial da saúde por causa da pandemia da Covid-19 colocou em evidência um conjunto enorme de
pesquisas e iniciativas envolvendo Bioinformática e AM. Nesse contexto, pesquisas em praticamente todas as áreas
mencionadas foram desenvolvidas; recursos e ferramentas foram disponibilizados por diversos grupos com o obje-
tivo de acelerar as pesquisas; e chamadas de trabalhos em revistas científicas surgiram para incentivar a produção e
organização do conhecimento de uma maneira rápida e eficaz.
No que se refere às pesquisas realizadas, os principais focos foram no entendimento do funcionamento do
vírus em si e no desenvolvimento e evolução da doença; a identificação de potenciais proteínas alvo para a pro-
dução de vacinas; a identificação de medicamentos existentes; e a proposição de novos compostos eficazes para o
tratamento (Bullock et al., 2020).
Trabalhos publicados sobre a identificação de potenciais medicamentos existentes, como os estudos de Beck
et al. (2020) e Stebbing et al. (2020), identificaram que os medicamentos atazanavir e o baricitinib possuem bom
potencial para o uso com a Covid-19, abrindo a possibilidade para mais amplas e aprofundadas investigações sobre
esses medicamentos.
Há ainda um grande número de pesquisas envolvendo estudos de associação do genoma inteiro com o objetivo
de identificar se há causas genéticas para as diferenças de severidade da doença,1 o que pode levar à identificação
de alvos para tratamento e de risco com base no perfil genético do paciente. Nesse tipo de estudo são comparados
genomas de pessoas com sintomas graves e de pessoas com sintomas leves.
Em termos de ferramentas disponibilizadas, por exemplo, há o Genome Detective,2 que foi utilizada para auxi-
liar na confirmação do primeiro caso de Covid-19 na Bélgica. Basicamente, essa ferramenta é capaz de identificar
novos vírus e, para isso emprega, dentre várias técnicas, o método neighbour joining – uma abordagem de agrupa-
mento aglomerativo específico muito utilizado em bioinformática para a criação de árvores filogenéticas (Cleemput
et al., 2020). Já usado em outros cenários, como a identificação de espécies e genótipos de Dengue, Zika and Chi-
kungunya (Fonseca et al., 2019), o software foi desenvolvido em colaboração com cientistas da KRISP (África do
Sul), da FioCruz (Brasil) e KULeuven/UZLeuven (Bélgica).
Esses são apenas alguns poucos exemplos ilustrativos de aplicações extremamente relevantes como o caso da
urgência nas soluções para a pandemia. Em geral, neste capítulo foram apresentados diversos tipos de aplicações de
AM em Bioinformática que foram ou vêm sendo explorados, porém essa descrição não é exaustiva. Ainda há muitos
resultados a serem obtidos e métodos a serem investigados, o que faz o uso de AM em Bioinformática, além de um
ferramental fundamental, também um campo de pesquisa promissor.

1
https://www.the-scientist.com/news-opinion/dna-could-hold-clues-to-varying-severity-of-covid-19-67435. Acesso em: 2 maio 2020.
2
https://www.genomedetective.com/. Acesso em: 2 maio 2020.
Capítulo
27
Ecologia e Meio Ambiente
É crescente a preocupação com a manutenção da qualidade do meio ambiente no planeta.
Em 2015, como parte das comemorações de seu 70o aniversário, a ONU lançou a Agenda
2030 com 17 objetivos sustentáveis e 169 metas (Nations, 2019). Alguns desses objetivos
estão diretamente relacionados com a proteção ambiental.
Problemas associados a questões ambientais, como desmatamento de florestas,
queimadas, caça e comércio ilegal de espécies, inundações, poluição de rios, lagos e re-
presas, aparecem com frequência crescente no noticiário. Muitos desses problemas têm
sido associados ao aquecimento global. Sistemas computacionais baseados em AM fazem
parte das soluções mais recentes para lidar de forma preventiva com esses problemas.
Esses sistemas já vêm sendo utilizados como ferramentas para auxiliar a geração de
modelos que podem ser utilizados em variados tipos de análises, tais como na indica-
ção de áreas para conservação ambiental (Egbert et al., 1999; Ortega-Huerta e Peterson,
2004), na avaliação do risco de proliferação de espécies invasoras (Eisner et al., 2005;
Garcia et al., 2016; Tabak et al., 2018), no estudo do impacto de mudanças ambientais na
biodiversidade (Huntley et al., 1995; Hannah et al., 2007; Sinclair et al., 2010), no suporte
à conservação e seleção de reservas (Araújo et al., 2000; Ferrier, 2002; Loiselle, 2003; Or-
tega-Huerta e Peterson, 2004; Leathwick, 2005) no teste de teorias ecológicas (Peterson
et al., 1999; Anderson et al., 2002; Hugall, 2002; Graham et al., 2006), na reintrodução
de espécies em perigo de extinção (Pearce e Lindenmayer, 1998; Martínez-Meyer et al.,
2006), no monitoramento ambiental (Hino et al., 2018), entre outros.
O Brasil possui uma vasta biodiversidade a ser protegida e explorada de forma sus-
tentável. Isso pode ocorrer mediante o uso de ferramentas de modelagem, como meio
para o monitoramento, a preservação ambiental e o desenvolvimento de estratégias que
auxiliem o uso sustentável dos recursos naturais.
Esta seção vai apresentar alguns trabalhos reais que ilustram como algoritmos de
AM podem ser utilizados em alguns dos problemas mencionados. Os trabalhos discuti-
dos cobrem quatro temas, a saber:
ƒƒ Modelagem da distribuição potencial de espécies;
ƒƒ Monitoramento da qualidade da água;
ƒƒ Predição de desastres naturais;
ƒƒ Prevenção de incêndios florestais.
Incêndios em florestas, acidentais ou provocados por ação humana, levam a prejuízos
ecológicos e financeiros, muitas vezes provocando a perda de plantas, quando não
Capítulo 27 • Ecologia e Meio Ambiente 333

machucam ou matam animais silvestres e pessoas. Quanto mais rápida for a detecção de incêndios florestais, maior
a chance de controle, o que leva a uma redução dos danos causados.
Cortez e Morais (2007) mostram como algoritmos de AM podem ser utilizados para a prevenção de incêndios
florestais. Nesse trabalho, cinco algoritmos de AM tiveram sua acurácia preditiva comparada: algoritmo de indução
de árvores de decisão, florestas aleatórias, máquinas de vetores de suporte, modelo de regressão múltipla e redes
neurais. Os dados originais tinham atributos ligados a coordenadas da área de incêndio, mês do ano, dia da sema-
na, atributos relacionados com condições atmosféricas, temperatura, umidade relativa do ar, velocidade do vento e
precipitação atmosférica. Técnicas de transformação converteram atributos qualitativos em quantitativos, e técnicas
de seleção foram utilizadas para selecionar os atributos mais relevantes. Os melhores resultados foram obtidos por
máquinas de vetores de suporte com quatro atributos, dados meteorológicos relativos à temperatura, umidade rela-
tiva do ar, precipitação pluviométrica e velocidade do vento.
O impacto do despejo de água sem tratamento por indústrias em rios, lagos, reservatórios e mares é um pro-
blema conhecido. Mais recentemente, têm sido denunciados os efeitos causados por mudanças no nível de nutrien-
tes e composição química, com graves danos à fauna e à flora, causados pela contaminação por adubos utilizados na
agricultura e lançamento de esgoto sem o tratamento adequado. Dentre os efeitos, alguns deles indiretos, podem ser
citados problemas de saúde em seres humanos. Policastro et al. (2004) utilizam um sistema híbrido de raciocínio ba-
seado em casos para o monitoramento da qualidade da água em rios. No sistema híbrido proposto, três algoritmos
de AM, algoritmo de indução de árvore de decisão, máquina de vetores de suporte e redes neurais artificiais, foram
utilizados em comitês para adaptar os casos recuperados da base de casos. Nos experimentos realizados, utilizou-se
como atributos de entrada a quantidade de substâncias químicas, como nitrogênio, fosfato, pH, oxigênio e cloreto,
juntamente com distribuição de populações de algas.
Um grande número de catástrofes ocorre por meio do rompimento de barreiras de contenção construídas
por empresas para reservatórios de águas de usinas hidrelétricas ou armazenamento de dejetos por empresas de
mineração. Uma vez rompidas, o volume de vazamento de água ou de dejetos que estavam armazenados dentro da
barragem podem causar grandes desastres ambientais. Em (Salazar et al., 2017), os autores investigaram o uso de
um algoritmo de AM baseado em boosting, Boosted Regression Trees, para detectar anomalias que possam sinalizar a
eminência de um desastre. Os autores geram modelos causais e não causais, que são depois utilizados para detectar
diferentes tipos de anomalias. Para os experimentos, foram usados dados relativos à temperatura, horário do dia,
nível de reservatório para deslocamentos radiais, precipitação pluviométrica e nível de fluxos de vazamento.
A modelagem da distribuição potencial de animais e vegetais tem sido uma ferramenta valiosa na obtenção de
informações biogeográficas a respeito de diferentes espécies, as quais podem ser aplicadas em vários campos, entre
eles estudos ecológicos (Pearson, 2007). Por meio do uso desses modelos, é possível obter uma melhor compreensão
da influência e da relação de condições ambientais com a distribuição das diferentes espécies animais e vegetais.
Os modelos para predizer a distribuição potencial de espécies são construídos a partir da combinação de dois
tipos de dados: (a) ocorrência/localização da espécie; e (b) ambientais. Os dados de ocorrência são coordenadas
geográficas, normalmente pares de latitude e longitude, em algum sistema de referência em que a espécie foi obser-
vada ou coletada. Os dados ambientais representam variáveis que, reconhecidamente, influenciam a distribuição da
espécie. O primeiro passo no processo de modelagem é encontrar a correspondência entre as condições ambientais
e cada ponto de ocorrência. Para o caso dos algoritmos de AM, obtém-se nesse passo um conjunto de dados em
um formato atributo-valor, em que os atributos representam as condições ambientais e as classes a presença ou a
ausência da espécie. Tem-se assim um problema de classificação.
Em geral, os dados de ocorrência são desbalanceados em termos da proporção de exemplos de presença e ausência
(Elith et al., 2006). Isso ocorre porque é mais fácil e usual registrar a presença de espécies em campo, resultando
em poucos dados de ausência. Isto dificulta o uso habitual das técnicas de AM, em que o cenário ideal é de mesma
quantidade de dados em ambas as classes. Uma estratégia frequentemente empregada para lidar com essa limitação
é gerar pontos de “pseudoausência” (Stockwell e Peters, 1999) ou gerar modelos a partir somente dos dados de pre-
sença (one-class classification) (Elith et al., 2006).
A partir do conjunto de dados montado, um algoritmo de AM, empregando o paradigma de aprendiza-
do supervisionado, deve identificar os padrões de condições ambientais adequadas à espécie e que garantam
334 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

a sua sobrevivência. O uso desse modelo em novas regiões permite extrapolar suas predições a novos ambientes.
Normalmente, um modelo preditivo deve retornar uma probabilidade de ocorrência da espécie de acordo com as
características ambientais fornecidas como entrada. A utilização de algoritmos de AM abre um grande número de
possibilidades de interação com a modelagem de distribuição de espécies, e tais algoritmos têm sido cada vez mais
utilizados nesse processo (Lorena et al., 2011).
Capítulo
28
Energia
Outro campo em que técnicas de AM são frequentemente utilizadas é o de energia. Com
o esgotamento de fontes de energia não renováveis e a preocupação com os danos am-
bientais relacionados com algumas fontes, algoritmos de AM têm possibilitado uma uti-
lização mais racional dos recursos disponíveis, tanto do ponto de vista financeiro como
ambiental, e um planejamento que permita um melhor uso dos recursos futuros. Algorit-
mos de AM têm sido utilizados em diversas aplicações, tanto no que se refere a aspectos
operacionais, como distribuição, exploração, geração de recursos energéticos, como a
aspectos de planejamento e comercialização de energia. Nessas aplicações, os algoritmos
têm sido utilizados, principalmente, em ferramentas de otimização e de suporte à toma-
da de decisão. Dentre as principais aplicações, podem ser listadas:
ƒƒ previsão de carga, de preço;
ƒƒ planejamento reativo, de expansão de sistemas de distribuição, de redistribuição
de alimentadores, de agendamento de geradores, de minimização de perdas;
ƒƒ controle da operação;
ƒƒ proteção de sistemas de energia;
ƒƒ composição de fontes energéticas;
ƒƒ previsão de rompimento de dutos.
Nas áreas de exploração e geração de energia, podem ser facilmente encontrados na
literatura trabalhos referentes a diferentes fontes de energia tanto não renováveis, como
petróleo, gás, nuclear, carvão, como renováveis, como hidrelétrica, solar, eólica e bioenge-
nharia. A maioria dos trabalhos diz respeito a aplicações no sistema elétrico de potência.
Esse sistema é formado pelos sistemas de geração, de transmissão, de distribuição e de
subestações. A transmissão de energia ocorre por linhas de transmissão. Sistemas de trans-
missão de energia levam energia da estação de geração para sistemas de distribuição, que,
por sua vez, enviam a energia para as subestações, que alimentam, por exemplo, bairros de
uma cidade. Técnicas de AM têm sido utilizadas em problemas associados a esses sistemas.
Uma das aplicações na área de transmissão de energia é a detecção e localização de
falhas em linhas de transmissão de energia (Oleskovicz et al., 1998). A maioria das falhas
que ocorrem no sistema elétrico acontece nessas linhas. As causas dessas falhas podem
ser várias, tais como problemas de isolamento, queimadas próximas às linhas e contatos
entre os cabos. Técnicas de regressão podem ser utilizadas para a previsão e a localização
de falhas ou faltas em redes de distribuição. Por exemplo, uma rede neural artificial pode
ser treinada para prever tanto quando uma falta está prestes a ocorrer quanto em que
336 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

posição da linha de transmissão ocorreu uma falta. Para isso, a entrada da rede neural pode ser um vetor com os
valores de tensão e de corrente medidos antes e após a falta.
Um sistema de distribuição pode ser modelado por um grafo em que subestações fornecem energia para diferen-
tes setores do sistema, como ilustrado pela Figura 28.1 (Delbem et al., 2003). Nesse grafo, as arestas representam linhas
para a distribuição de energia, e os nós representam chaves. Um nó preto representa uma chave fechada, permitindo a
passagem de energia entre os setores anterior e posterior à chave. Um nó branco representa uma chave aberta.

Chave fechada
SubestaçãoA
SubestaçãoB

SubestaçãoC
Chave aberta

Figura 28.1 Sistema de distribuição de energia.

Falhas em um sistema de distribuição de energia podem fazer com que setores deixem de receber energia, fi-
cando desenergizados. Uma vez que a falha tenha ocorrido, planos de restabelecimento de energia elétrica precisam
ser elaborados rapidamente, de forma a realimentar os setores desenergizados. Técnicas de AM podem também
ser utilizadas para restabelecimento de energia em sistemas de distribuição. Para isso, a falta deve ser inicialmente
identificada e isolada. Em seguida, a técnica de AM gera um plano para o restabelecimento de energia. O uso de AM
permite que o restabelecimento seja realizado rapidamente. Uma ferramenta baseada em algoritmos genéticos foi
desenvolvida para definir que chaves devem ser abertas e fechadas para gerar um plano ótimo (Delbem et al., 2003,
2005). Um plano ótimo pode minimizar o número de regiões desenergizadas, reduzir sobrecarga de equipamentos,
evitar que as chaves alteradas estejam distantes entre si e equilibrar a carga entre as subestações. Em uma aplicação
semelhante, AM pode ser utilizada para a redefinição das fontes de fornecimento de energia para que seja realizada
a manutenção de partes do sistema de distribuição.
A área de planejamento também oferece várias oportunidades para a utilização de técnicas de AM. Assim
como AM pode ser utilizada na composição de carteiras ou fundos de investimento, definindo o quanto utilizar de
um dado ativo, elas podem ser utilizadas para definir quanto de cada fonte de energia será utilizado para alimentar
uma demanda futura. Fatores ambientais, políticos e econômicos fazem com que diferentes fontes de geração de
energia tenham custos diferentes ao longo do tempo. Por exemplo, os recursos hidrelétricos de geração de energia
têm sua disponibilidade afetada pelo volume de água armazenado nos reservatórios de usinas hidrelétricas. Em
períodos de estiagem, geralmente ocorre uma baixa nesses volumes.
Em Leite et al. (2002), algoritmos genéticos (AGs) foram utilizados em uma ferramenta para o planejamento
de sistemas hidrotérmicos formados por usinas hidrelétricas e usinas térmicas. No sistema utilizado, que reflete o
sistema brasileiro, as usinas hidrelétricas estão situadas em uma mesma bacia hidrográfica, com os reservatórios
acoplados. Isso forma um sistema em cascata em que o volume de um reservatório é influenciado pelo volume
do reservatório anterior. Essa dependência não ocorre em um sistema de geração térmica, em que a capacidade
de geração de uma usina não depende da geração da outra, mas depende da cotação do combustível utilizado. Na
ferramenta apresentada, o AG otimiza os volumes dos reservatórios de forma a reduzir o uso de energia térmica,
que tem um custo financeiro maior. O AG busca a solução ótima, que procura equilibrar o uso atual da água para
geração hidrelétrica e seu uso futuro decorrente de um maior armazenamento.
Outra aplicação associada ao planejamento é a previsão do preço da energia proveniente de diferentes fontes e
da energia necessária para um dado período futuro. Essas aplicações têm sido abordadas tanto como séries tempo-
rais quanto como fluxos contínuos de dados (Rodrigues e Gama, 2009).
Capítulo 28 • Energia 337

Com relação à exploração de gás e de petróleo, algoritmos de AM podem ser utilizados para a detecção de va-
zamento, problema que tem causado vários desastres ambientais, estimativa de propriedades de reservas, previsão
de viscosidade, previsão de rompimento de dutos de escoamento e previsão do valor do barril de petróleo ou metro
cúbico de gás natural.
O paradigma da rede inteligente traz novos desafios em termos de previsão de carga. O papel emergente dos
consumidores-produtores (Bessa et al., 2009), e o crescimento dos veículos elétricos, torna o padrão de consumo
mais volátil e, portanto, mais difícil de prever. Em um futuro próximo, os perfis de carga nos sistemas de distribuição
variarão com as condições climáticas (por exemplo, autoconsumo de painéis fotovoltaicos), tarifas dinâmicas de
eletricidade e preferências/comportamento do consumidor. O novo desafio será fornecer previsões probabilísticas
altamente precisas que possam alimentar ferramentas de gerenciamento dos operadores de sistemas de distribuição,
bem como sistemas de gestão de energia doméstica (Bessa et al., 2011).
Capítulo
29
Filtragem de Mensagens
Indesejadas
Com a popularização da internet e o crescimento no uso do e-mail como um meio de
comunicação popular, rápido e barato, surgiu um dos principais problemas da comuni-
cação eletrônica em geral: o envio em massa de mensagens não solicitadas. Tal fenômeno
ficou conhecido como spamming, as mensagens em si como spam e os autores como
spammers (Gyongyi e Garcia-Molina, 2005).
Entre as consequências do spam, estão o consumo de recursos da infraestrutura da
rede para trafegar as mensagens, assim como a atenção gasta pelos usuários para selecio-
nar e filtrar as mensagens indesejadas. Além disso, existe também o custo gerado para
as vítimas dos crimes que geralmente acompanham o spam, tais como roubo financeiro,
roubo de dados e propriedade intelectual, vírus e malwares, exposição a fraudes, porno-
grafia e propaganda enganosa (Goodman et al., 2005).
Segundo dados da Cisco, empresa que fornece soluções computacionais, cerca de
85% do volume diário de e-mails é spam, podendo ultrapassar a quantidade de 300 bi-
lhões deste tipo de mensagem por dia.1 Os principais assuntos são notificações falsas de
pagamentos e depósitos bancários, compras de produtos online, anexos maliciosos, sites
de relacionamento, entre outros.
Desde o seu surgimento, diversas abordagens foram propostas para combater o
spam, desde instrumentos jurídicos para punir os spammers, até sistemas de identificação
e de reputação, em que os remetentes podem se certificar como usuários legítimos.
No entanto, a estratégia mais promissora consiste em aplicar filtros baseados no conteúdo
da mensagem (isto é, categorização de texto), capazes de discernir spam de mensagens
legítimas automaticamente (Bratko et al., 2006; Almeida et al., 2010, 2011b).
As primeiras tentativas de filtrar spam em e-mails foram inicialmente bem-sucedidas
(Sahami et al., 1998), porém não demorou muito para que os spammers aprendessem a bur-
lar os primeiros filtros manipulando as mensagens de diversas formas. Isso acabou gerando
uma corrida entre os especialistas por trás dos filtros de spam, constantemente propondo
novas regras para a filtragem, e os spammers encontrando novas formas de evadir a detec-
ção. Esse fenômeno é conhecido como classificação adversária e está presente em diversos
outros cenários, tais como detecção de intrusão, detecção de fraude, contraterrorismo,
vigilância aérea ou compartilhamento ilegal de arquivos (Dalvi et al., 2004).

1
Spam Data. Disponível em https://talosintelligence.com/reputation_center/email_rep. Acesso em: 21 jun. 2020.
Capítulo 29 • Filtragem de Mensagens Indesejadas 339

Possuir um adversário ativo confere à filtragem de spam um problema especial para a categorização automática
de texto. Como o spam evolui constantemente e a maioria das aplicações é baseada no retorno (feedback) online
do usuário, a tarefa demanda algoritmos de classificação rápidos, robustos e incrementais (Almeida e Yamakami,
2012a,b,c, 2016).
Com o surgimento e popularização de outros meios de comunicação, o spam rapidamente se propagou
para diversas plataformas, tais como: blogs, mídias sociais, fóruns de discussão, sites de notícias, wikis, sites de
e-commerce, sites de relacionamento, jogos eletrônicos e mensageiros instantâneos (Chakraborty et al., 2016). Inde-
pendentemente do meio empregado, o spam está associado à informação indesejada, de baixa qualidade, que atra-
palha a visualização do conteúdo que realmente interessa ao usuário e pode ser apresentado na forma de imagem,
texto ou vídeo. A seguir, são apresentados alguns cenários onde o spam está se propagando com maior intensidade
nos últimos anos.

SMS e Mensagens Instantâneas


A popularização dos smartphones tornou possível diversas formas de comunicação antes não existentes. Da mesma
maneira que os celulares possibilitaram fazer ligações por voz de praticamente qualquer lugar, os smartphones tor-
naram viável a comunicação por texto de uma forma muito eficaz. Esse tipo de comunicação está entre os principais
usos dos smartphones. Contudo, a crescente popularidade de mensagens de texto como nova forma de comunicação
também atraiu seu emprego para a divulgação de spam. Consequentemente, nos últimos anos, mensageiros instan-
tâneos e SMS vêm sendo utilizados para disseminar mensagens indesejadas.
A maior dificuldade na filtragem dessas mensagens é que os filtros de spam consolidados para e-mail têm
seu desempenho altamente degradado quando utilizados para filtrar essas mensagens. Isso acontece em razão do
tamanho reduzido das mensagens e pelo fato de elas geralmente serem repletas de gírias, símbolos, emoticons e
abreviações, que fazem até mesmo a tokenização se tornar uma tarefa difícil (Almeida et al., 2011a; Hidalgo et al.,
2012; Almeida et al., 2013).
O ruído presente nessas mensagens pode aparecer de diversas formas. Para ilustrar, considere a seguinte men-
sagem: “Plz, call me bak asap... Ive gr8 news! :)”. Nela, estão presentes palavras com grafia incorreta: “Plz, bak, Ive,
gr8”; abreviações: “asap”; e símbolos “:)”. Para transcrever essa mensagem para o idioma inglês com a gramática
correta, seria necessário um dicionário de Lingo,2 além de um dicionário de inglês tradicional, para associar cada
gíria, símbolo ou abreviação para o termo correto. Após a etapa de normalização léxica, a mensagem seria transcrita
para “Please, call me back as soon as possible... I have great news! :)” (Fernandes et al., 2015).
Além das mensagens ruidosas, existem outros problemas já conhecidos, como as palavras ambíguas no seu
contexto (polissemia) e diferentes palavras com o mesmo significado (sinonímia), que podem prejudicar o desem-
penho de métodos de AM tradicionais quando aplicados em problemas de categorização de texto. Mesmo depois
de lidar com esses problemas, a quantidade de atributos pode não ser suficiente para classificar corretamente men-
sagens como spam ou legítima, uma vez que elas são geralmente muito curtas. Para contornar esse problema, o em-
prego de técnicas de indexação semântica e desambiguação tem sido frequente. Apesar das dificuldades existentes,
estudos recentes reportam medida F1 superior a 0,9 na filtragem dessas mensagens (Almeida et al., 2016).

Opiniões Falsas
Sites como o TripAdvisor hospedam milhares de opiniões (reviews) sobre lugares, hotéis e restaurantes. Sites de
e-commerce como a Amazon também permitem que usuários postem reviews sobre produtos. Essa facilidade faz
com que pessoas confiem cada vez mais em opiniões online, assim como também aumenta a competitividade entre
fabricantes de produtos e donos de estabelecimentos comerciais, para ganhar visibilidade nessas mídias. Este foi o
cenário onde começaram a surgir os primeiros casos de opiniões falsas publicadas online: reviews falsos publicados
por usuários contratados, com o objetivo de difamar ou promover produtos ou serviços.

2
Lingo é uma linguagem abreviada, comumente utilizada em mensagens escritas em celulares e na internet, como SMS, chats, e-mails, blogs
e redes sociais.
340 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

Essas opiniões falsas são denominadas spam de opinião, ou então: spam reviews, fake reviews, deceptive reviews,
fraudulent reviews. Spam reviews podem causar um grande prejuízo para empresas fabricantes de produtos ou pro-
vedores de serviços, que muitas vezes são prejudicados com opiniões falsas negativas ou por fake reviews promoven-
do rapidamente seus concorrentes.
Já existem sites que possuem filtros automáticos deste tipo de spam. Um exemplo é o Yelp,3 site especializado
em reviews sobre estabelecimentos comerciais, que possui um algoritmo proprietário para filtragem de avaliações
falsas. Por meio deste algoritmo, usuários visualizam primeiro os reviews que são mais relevantes e que possuem
maior probabilidade de serem autênticos.
Outro exemplo de mecanismo que tenta minimizar as ocorrências de opiniões falsas é uma funcionalidade
adotada pela Amazon. Trata-se de um indicador de compra denominado AVP (Amazon Verified Purchase). O AVP
indica se o autor efetuou a compra de um produto mencionado em um review. Este recurso tenta minimizar uma
possível desconfiança em reviews online e parte do esforço da Amazon em combater este tipo de atividade fraudu-
lenta (Perez, 2016).
De maneira geral, spam reviews são um problema crescente na internet. De acordo com Luca e Zervas (2015),
16% das avaliações sobre restaurantes do Yelp são spam e mais de 15% das opiniões em mídias sociais são falsas.
Em face do crescente aumento no volume de opiniões falsas, redes sociais passaram a adotar mecanismos para que
usuários denunciem publicações que possivelmente sejam spam. Apesar disso, de acordo com Harris (2012), é difícil
que humanos consigam detectar com precisão os spam reviews, pois os mesmos são cuidadosamente criados para
parecerem autênticos.
Para ilustrar essa dificuldade, em Ott et al. (2011, 2013) são apresentados os seguintes exemplos de opiniões
reais, sendo que um é legítimo e outro é spam:

I have stayed at many hotels traveling for both business and pleasure and I can honestly stay that The James is
tops. The service at the hotel is first class. The rooms are modern and very comfortable. The location is perfect within
walking distance to all of the great sights and restaurants. Highly recommend to both business travellers and couples.

My husband and I stayed at the James Chicago Hotel for our anniversary. This place is fantastic! We knew as
soon as we arrived we made the right choice! The rooms are BEAUTIFUL and the staff very attentive and wonder-
ful!! The area of the hotel is great, since I love to shop I couldn’t ask for more!! We will definatly be back to Chicago
and we will for sure be back to the James Chicago.

Na literatura, a maioria dos trabalhos focados na detecção de spam reviews utiliza os métodos de AM apresen-
tados neste livro aliados a técnicas de processamento de linguagem natural (Heydari et al., 2015). O desempenho
dos métodos tradicionais de classificação, como o naive Bayes e SVM, pode atingir medida F 1 superior a 0,8 (Car-
doso et al., 2017, 2018).

Comentários Indesejados
O spam também pode se apresentar como comentários indesejados em plataformas que permitem a interação de
usuários com autores do conteúdo. Alguns exemplos são: blogs, sites de notícias e plataformas de vídeos, como o
YouTube.
Em um dos trabalhos pioneiros sobre comentários spam, Mishne et al. (2005) propuseram uma abordagem
para detectar comentários indesejados em blogs, comparando a similaridade entre o modelo de linguagem utilizado
na postagem original e adotado nos comentários e nas páginas apontadas pelos links dos comentários.
Em Alberto et al. (2015a), é apresentado um estudo abrangente das técnicas de AM aplicadas para detectar
automaticamente comentários indesejados publicados em blogs. Diferentes conjuntos de atributos foram avaliados
juntamente com técnicas de normalização léxica. Os experimentos realizados com dados reais e públicos indicaram
que SVM, regressão logística e a combinação de múltiplos classificadores (stacking), treinados com os atributos

3
Yelp. Disponível em https://www.yelp.com/. Acesso em: 22 jan. 2020.
Capítulo 29 • Filtragem de Mensagens Indesejadas 341

extraídos tanto das mensagens de texto quanto dos metadados das postagens, foram promissores na tarefa de blo-
quear comentários indesejados.
O YouTube, embora seja alvo de um volume enorme de spam, ainda foi pouco abordado na literatura. Rădulescu
et al. (2014) avaliaram uma estratégia de detecção de spam nos comentários do YouTube baseada na identificação de
textos desconexos, linguagem vulgar e inadequada, ou conteúdo não relacionado com o vídeo original. Os autores
extraíram nove atributos numéricos dos comentários e aplicaram técnicas de processamento de linguagem natural
e de AM para identificar os comentários spam. Contudo, a abordagem não obteve bons resultados porque as men-
sagens na plataforma normalmente são curtas e repletas de erros de digitação.
O spam encontrado em comentários do YouTube e outras mídias sociais, também conhecido como social
spam, difere-se muito do spam em e-mails, pois as mensagens geralmente são muito curtas e repletas de erros de
digitação, gírias, símbolos, emoticons e abreviações (Silva et al., 2017a). De forma objetiva, Baldwin et al. (2013)
realizaram análises linguísticas e estatísticas em diversas bases de dados de mensagens de mídias sociais para medir
o nível de ruído existente. As estatísticas apontam que um comentário do YouTube possui em média 16 palavras e
31,9% delas falharam em ser interpretadas pelo analisador gramatical. Os autores concluíram que, embora o texto
encontrado em mídias sociais seja ruidoso, é possível aplicar técnicas de processamento de linguagem natural para
diminuir o ruído.
Alberto et al. (2015b) apresentaram uma avaliação de desempenho de métodos tradicionais de classificação
online auxiliados por técnicas de normalização léxica e indexação semântica, quando aplicados na filtragem auto-
mática de comentários indesejados postados no YouTube. A análise dos resultados indicou que os métodos MDL-
Text, Passivo-Agressivo, naive Bayes e Gradiente Descendente obtiveram desempenhos equivalentes. Os autores
apresentaram o TubeSpam, uma ferramenta online para filtrar automaticamente comentários indesejados postados
no YouTube.
Em Lochter et al. (2018b) foi proposta uma técnica de expansão automática de dados para aumentar o número
de instâncias rotuladas e melhorar a qualidade da representação computacional de mensagens de texto curtas e com
ruído. Também, foi proposta uma abordagem para combinar as predições obtidas pelos classificadores usando as
mensagens geradas pela técnica de expansão. Experimentos com três técnicas de representação de texto demonstra-
ram que a abordagem melhora os resultados obtidos na detecção de mensagens indesejadas, principalmente quando
o número de amostras de treinamento é pequeno.

Notícias Falsas
Uma das modalidades de spam mais perigosas e famosas atualmente é das notícias falsas, do inglês fake news. Tratam-se
de notícias que tentam imitar o conteúdo divulgado pela imprensa oficial, mas propositalmente criadas e dissemi-
nadas para enganar as pessoas.
As redes sociais e os aplicativos de mensagens instantâneas permitem que conteúdo enganoso chegue a um
número enorme de pessoas em pouco tempo. Em virtude de sua natureza atraente, as notícias falsas se espalham
rapidamente, influenciando a percepção das pessoas sobre vários assuntos, desde notícias sobre supostos estudos
científicos que confirmam meias-verdades a declarações distorcidas de políticos e celebridades. Dessa forma, as no-
tícias falsas não apenas influenciaram recentemente as eleições políticas em todo o mundo, mas também causaram
problemas para a saúde pública (por exemplo, espalhando conspirações sobre as campanhas de vacinação) e tragé-
dias humanas (como linchamentos públicos e pessoas fazendo justiça com as próprias mãos).
No Brasil, dois episódios recentes foram marcados pelos impactos negativos causados pelas fake news:
ƒƒ Durante as eleições presidenciais de 2018, alguns partidos políticos fizeram campanhas usando uma força-
tarefa que envolvia a disseminação de notícias falsas com o intuito de promover desinformação e confundir
os eleitores;4
ƒƒ Durante a crise mundial de saúde causada pela Covid-19, foi disseminada uma quantidade enorme de no-
tícias falsas, algumas até para prejudicar o trabalho das autoridades de saúde. Alguns exemplos, como men-

4
Ministério Público investiga suposto “esquema industrial” de envio de fake news. Disponível em: https://bit.ly/3bvb80q. Acesso em: 13 maio 2020.
342 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

sagens sobre medicamentos envolvendo café e a ingestão de alimentos alcalinos, foram bastante populares.
Para investigar esses episódios, o Senado Federal instaurou uma Comissão Parlamentar Mista de Inquérito
(CPMI), conhecida por CPMI das Fake News.5
Para piorar, os humanos têm dificuldade em detectar não apenas notícias falsas, mas o conteúdo enganoso
em geral. Pesquisas mostraram que os humanos obtiveram desempenho insatisfatório ao tentar identificar notícias
falsas, alcançando entre 50% e 63% de sucesso, dependendo do que é considerado enganoso (Rubin e Conroy, 2011).
Recentemente, vêm surgindo diversas iniciativas para combater as notícias falsas. Agências de comunicação
têm apoiado sites de verificação de informações, e empresas com grande apelo digital (por exemplo, o Facebook)
estão tentando conscientizar seus usuários. No lado acadêmico, estão sendo realizados estudos sobre como as no-
tícias falsas se espalham; o comportamento dos usuários ao receber e disseminar esse tipo de mensagem; e se as
declarações feitas na linguagem escrita são verdadeiras a partir da verificação automática dos fatos. Alguns estudos
envolvendo AM e processamento de linguagem natural também exploraram os recursos linguísticos que podem
ajudar a detectar automaticamente notícias falsas (Monteiro et al., 2018; Silva et al., 2020).

5
CPMI das Fake News, disponível em: https://bit.ly/2WRYi7d. Acesso em: 13 maio 2020.
Capítulo
30
Finanças
A demanda por sistemas financeiros mais eficientes e confiáveis tem levado a um cres-
cente aprimoramento dos sistemas de análise de dados utilizados pelos agentes financeiros.
Essa sofisticação vem impulsionando o desenvolvimento de sistemas computacionais ca-
pazes de analisar grandes quantidades de dados rapidamente e de gerar relatórios para
auxiliar a tomada de decisões. A maioria das principais instituições financeiras, tanto
internacionais quanto nacionais, está utilizando algoritmos de AM para a análise de seus
dados. Em várias aplicações na área de finanças, o uso de AM tem possibilitado ganhos
financeiros expressivos. Entre os principais problemas em que AM tem sido utilizada
com sucesso, podem ser citados:
ƒƒ análise de risco de crédito;
ƒƒ previsão de falências;
ƒƒ previsão de cotações de moedas e de ações;
ƒƒ detecção de fraudes;
ƒƒ segmentação de mercados;
ƒƒ composição de carteiras de investimento.
A seguir, alguns desses problemas serão descritos em mais detalhes, juntamente
com as principais abordagens de AM utilizadas para lidar com eles.
Análise de risco de crédito é possivelmente o problema financeiro em que AM tem
sido mais popular. Esse problema pode estar associado tanto à pessoa jurídica, por exem-
plo, empresas, como à pessoa física. A análise de risco de crédito para pessoa física é
geralmente utilizada quando uma pessoa solicita um cartão de crédito, cheque especial,
financiamento ou crediário. Nesse caso, a instituição que faz a análise de crédito geral-
mente utiliza um conjunto de dados de aplicações passadas, que possuem, para cada apli-
cação, o perfil do cliente dessa aplicação e sua classificação. A classificação pode ser tanto
uma pontuação dada por um analista de crédito, que pode informar se deve ou não ser
dado o crédito, quanto uma análise do histórico financeiro do cliente. O histórico finan-
ceiro pode conter dados como o número de vezes que o cliente se tornou inadimplente.
Observe que o primeiro caso, o rotulamento dos dados, é subjetivo. Diferentes analistas
de crédito podem atribuir pontuações diferentes à aplicação.
Quando AM é utilizada nesses problemas, um algoritmo supervisionado para clas-
sificação utiliza esse conjunto de dados para induzir um modelo ou hipótese, que será de-
pois utilizado para os novos clientes. Embora esse seja geralmente um problema de clas-
sificação binária, ele pode apresentar mais de duas classes, que podem, inclusive, formar
344 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

um ranking de classes para diferentes perfis de clientes. Uma dificuldade geralmente encontrada é que os conjuntos
de dados em geral têm muito mais dados de clientes que foram aprovados (ou têm um bom histórico financeiro)
que o contrário. Para lidar com essa limitação, técnicas de pré-processamento para dados desbalanceados podem
ser utilizadas. Observe que, nessas aplicações, os erros podem ter custos diferentes. Pode ser menos custoso rejeitar
o crédito a um cliente que não ficaria inadimplente que o contrário. Algoritmos de agrupamento de dados também
podem ser empregados para encontrar diferentes perfis de clientes, que seriam os grupos encontrados pelo algoritmo.
Diferentes produtos poderiam ser oferecidos a diferentes grupos de clientes.
Na detecção de fraudes, o objetivo é detectar transações atípicas. Fraudes ocorrem não apenas em transações
financeiras, mas também no uso de energia, na compra de suprimentos, na utilização de recursos sociais, no acesso a
redes de computadores, para citar alguns casos. Algoritmos de AM são geralmente utilizados para prever ou classifi-
car quando uma dada transação é uma fraude, um problema de classificação binária. Assim como os dados de análi-
se de crédito, os conjuntos de dados de detecção de fraudes apresentam (felizmente) muito mais dados de transações
corretas do que dados que representam fraudes. Outra dificuldade é que novos tipos de fraude são constantemente
criados, o que torna necessária a adaptação contínua dos modelos. Assim, a detecção de fraudes também pode ser
vista como um problema de fluxos contínuos de dados.
Enquanto dados de análise de crédito estão disponíveis em vários repositórios públicos, o mesmo não ocorre
com dados de crédito. A razão é simples: o portador desses dados não quer liberá-los para que suas vulnerabilidades
passadas (e talvez presentes) não sejam conhecidas.
A previsão de cotações de valores de moedas ou ações é geralmente realizada por algoritmos que podem
gerar um valor real como valor de saída. Os dados utilizados nesses casos são, em geral, séries temporais, que são
conjuntos de dados gerados em intervalos predefinidos. A cada intervalo, o mesmo número de valores é gerado.
Por exemplo, uma série temporal de cotações de moedas pode ser formada pelo valor da moeda de diversos países,
tomado diariamente, em um intervalo de anos.
A composição de carteiras ou fundos de investimentos procura definir quanto de um dado recurso total deve
ser alocado a cada ativo de um conjunto de possíveis ativos, que podem incluir ações negociadas na bolsa de va-
lores, títulos da dívida pública, títulos cambiais, derivativos ou commodities negociados em bolsas de mercadorias
e futuros, entre outros. Técnicas baseadas em busca, que incluem as técnicas bioinspiradas, podem ser utilizadas
para definir o peso ou grau de participação de cada ativo na carteira. Por exemplo, se um algoritmo genético (AG)
for utilizado, cada gene pode armazenar o peso de um dado ativo. Durante o processo evolutivo, o AG buscará pelo
conjunto de pesos que provavelmente dará o maior retorno financeiro em um dado período.
Capítulo
31
Mineração e Ciência de Dados
A mineração de dados (data mining) consiste em extrair ou “minerar” conhecimento a
partir de grandes quantidades de dados. Em parte da literatura relacionada, a Mineração
de Dados (MD) é também tratada como sinônimo para outro termo, a descoberta de
conhecimento em bases de dados (KDD, do inglês Knowledge Discovery in Databases).
Outros autores consideram a MD uma etapa no processo de KDD, o qual compreende as
seguintes etapas: a seleção, limpeza e integração dos dados, a transformação dos dados,
a mineração dos dados e a avaliação e apresentação dos resultados (Fayyad et al., 1996).
É importante destacar que a MD busca extrair conhecimento inovador, ou seja,
algo anteriormente não conhecido e que tenha valor para o domínio em que é aplicada.
As técnicas de AM estão entre as mais empregadas no processo de MD, e diversas
aplicações de sucesso de AM em MD são continuamente reportadas. Um dos usos mais
clássicos de MD, no caso utilizando regras de associação, é a análise de bases de dados
de estabelecimentos comerciais, tais como supermercados. Os modelos gerados a partir
desses dados podem ser empregados no auxílio à tomada de decisões gerenciais, como
a definição de que produtos podem ser comercializados em conjunto para aumentar as
vendas. Muitas das aplicações de outros capítulos deste livro podem ser caracterizadas
como de MD, tais como a análise de crédito, a geração de modelos para suporte ao
diagnóstico médico, entre outras.
É importante observar que, em geral, a MD lida com dados de observações já
realizadas, não com dados gerados propositadamente para serem no futuro analisados
por técnicas de MD. Ou seja, os dados utilizados são armazenados para um propósito
diferente de sua análise por técnicas de MD. Como exemplo pode ser citado um banco
de dados com cadastros de pacientes de um hospital. Esses dados não são coletados com
o propósito de serem posteriormente analisados por técnicas de MD, mas sim para que
profissionais da área médica possam acessar com facilidade os dados de um paciente.
Quando os dados que estão sendo analisados se apresentam na forma de textos, é
usual se referir à sua análise como mineração de textos (MT). Os Capítulos 23, 25, 29 e
34 descrevem algumas aplicações de MT. Como dados em textos são apresentados de
uma forma não estruturada, eles muitas vezes precisam ser convertidos para o formato
atributo-valor ou outras representações antes de serem utilizados em AM, como descrito
no Capítulo 23.
A aplicação da MD a dados provenientes da Web, por sua vez, é também denomi-
nada mineração Web (web mining). As análises desses dados buscam descobrir fontes
de informações relevantes, mapear e analisar o padrão de acesso à informação contida
346 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

na Web, assim como a forma de armazenamento de informações na Web. Muitas vezes, as informações presentes
encontram-se no formato textual, formando assim uma interface com a MT. Como exemplos de análises usualmen-
te efetuadas, podem ser mencionadas a extração de conhecimento do conteúdo das páginas e de suas descrições,
a obtenção de conhecimento a partir da organização da Web e da referência cruzada de ligações entre diferentes
páginas e a geração de padrões interessantes a partir do uso dos registros de acesso da Web (Ebecken et al., 2003).
Mais recentemente, tem-se adotado a nomenclatura de Ciência de Dados (Data Science) para a área de pesqui-
sa que visa à aquisição, gerenciamento e análise de dados com o objetivo de produzir informações e conhecimento
que possam dar suporte à tomada de decisão (Provost e Fawcett, 2013a; De Veaux et al., 2017). O ciclo de um projeto
em Ciência de Dados envolve diversas etapas, entre as quais podem-se citar (Berman et al., 2018):
ƒƒ coleta de dados, com atividades de criação, captura, integração e armazenamento;
ƒƒ limpeza dos dados, para melhorar sua qualidade e tratar inconsistências;
ƒƒ uso dos dados, por meio de análises, visualizações, produção de modelos, entre outros;
ƒƒ disseminação e comunicação de resultados.
Na realização dessas etapas, é necessário o uso de diversas técnicas matemáticas, estatísticas e de computação,
consideradas os pilares da Ciência de Dados (De Veaux et al., 2017). Conhecimentos em Cálculo e Álgebra Linear
formam os fundamentos de muitas das técnicas atualmente utilizadas na análise de dados. Métodos de otimização
exata e heurísticos também são largamente empregados. A estatística provê ferramentais variados para a análise
de dados e a geração de modelos preditivos. Em computação, o gerenciamento apropriado de bancos de dados é
importante para dar suporte às atividades de coleta e integração de dados. A Inteligência Artificial, com desenvolvi-
mentos em AM, fornece um importante arcabouço para a produção automatizada de modelos preditivos e descriti-
vos, e essas técnicas estão entre as mais empregadas em Ciência de Dados. Técnicas de computação distribuída e de
alto desempenho permitem lidar com uma grande massa de dados em um tempo viável. Salienta-se a importância
de também lidar com a segurança dos dados manipulados.
Tem-se assim um amplo espectro de aplicações das técnicas de AM, que se tornaram cada vez mais relevantes
diante do crescimento do armazenamento digital de dados e da necessidade de sua análise.
Capítulo
32
Robótica
Área que trata da pesquisa e desenvolvimento de robôs, atualmente, a robótica é uma
área extremamente vasta, com aplicações que vão desde a realização de tarefas repetitivas
até a atuação em situações e ambientes perigosos ou inóspitos aos humanos. Robôs são
dispositivos eletromecânicos que podem realizar tarefas de maneira pré-programada ou
de maneira autônoma (Turban e Frenzel, 1992). Os pré-programados realizam tarefas es-
pecíficas, tais como os robôs de indústrias automotivas. Esse tipo de robô pode substituir
os humanos em tarefas bem definidas e limitadas. Dessa forma, eles são capazes de reali-
zar somente um conjunto de tarefas repetidamente, não sendo capazes, por exemplo, de
se adaptar a mudanças que venham a ocorrer em seu ambiente, sem que seja necessária
uma reprogramação.
Para eliminar a necessidade de reprogramação, componentes de aprendizado
de máquina e inteligência artificial são essenciais. Pode-se dizer que o nível de autono-
mia de um robô depende da sua capacidade de aprendizado e adaptação às situações e
ambientes em que atuam. Os robôs inteligentes podem ser definidos, portanto, como
mecanismos capazes de extrair informações de seu ambiente e usar conhecimento sobre
ele para realizar suas tarefas de forma segura e útil (Arkin, 1998).
Na comunidade científica, os primeiros robôs autônomos (inteligentes) surgiram
na década de 1940, sendo eles o machina de Grey Walter e a criatura de John Hopkins.
Importantes e pioneiras contribuições também foram dadas por Nilsson em 1969, com o
robô Shakey, e por Moravec em 1977, com o Standford Cart. Desde os primeiros traba-
lhos em robótica até a atualidade, houve grande proliferação de pesquisas na área, com
avanços que incluem máquinas capazes de navegar em rodovias a grandes velocidades e
humanoides com capacidade (e equilíbrio) de subir e descer escadas.
A definição de um robô inteligente deve levar em conta o ambiente em que ele deve
operar e as tarefas que ele deve realizar nesse meio. Os ambientes podem ser os mais
variados; entre eles, podemos citar escritórios, casas, labirintos, indústrias, ruas, hospi-
tais. Também podem ser aquáticos, aéreos ou mesmo espaciais. Na maioria dos casos, os
robôs são projetados de forma a interagir com um meio específico, pois a capacidade de
lidar com uma mudança de meio aumenta em grande escala a complexidade do sistema.
As tarefas que um robô deve ser capaz de realizar também podem ser diversas,
e estão intimamente ligadas ao meio em que atuam. Algumas tarefas gerais são: navegação,
manipulação de objetos, percepção e mapeamento do ambiente, entre outras. Um robô
pode estar programado de forma a executar uma tarefa específica ou uma combinação
destas no alcance de seus objetivos.
348 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

Cada uma das tarefas de um robô pode ser modelada com o uso de técnicas de AM, permitindo a obtenção de
controladores automáticos. De forma geral, as técnicas mais empregadas em aplicações de robótica são aquelas ade-
quadas a tarefas de percepção e controle, tais como redes neurais artificiais, incluindo as redes profundas, e técnicas
diversas de computação natural, como os algoritmos genéticos; mas outras técnicas como modelos probabilísticos e
bayesianos, SVMs e abordagens de aprendizado não supervisionado, entre outras, também são empregadas.
Capítulo
33
Saúde
Uma das áreas de aplicação em que algoritmos de AM têm tido maior receptividade é a
área saúde. Nessa área, ferramentas computacionais baseadas em AM são frequentemen-
te utilizadas para controlar epidemias, auxiliar exames clínicos, monitorar o estado de
pacientes, dosar medicamentos e dar suporte ao diagnóstico médico.
Os algoritmos de AM podem ser empregados para aprender com dados históricos
dos pacientes e, posteriormente, realizar previsões sobre diagnósticos. Para isso, os dados
do paciente normalmente são processados, relacionados com anotações clínicas, correla-
cionados, associados a sintomas, antecedentes familiares, hábitos e doenças. Os impactos
de certos fatores biomédicos, como a estrutura do genoma ou variáveis clínicas, também
podem ser considerados para prever a evolução de certas doenças. As aplicações mais
comuns envolvem o prognóstico de progresso ou prevenção de doenças para reduzir o
risco e resultados negativos.
Para exemplificar, diabetes é uma das doenças mais comuns nos dias de hoje. Assim
como em outras doenças, a falta de um diagnóstico correto, de preferência nos estágios
iniciais, pode ter graves consequências. Iniciativas para ajudar a diagnosticar pacientes
com diabetes vêm obtendo êxito ao combinar algoritmos de agrupamento com métodos
de classificação. Outra aplicação bem-sucedida é no suporte ao diagnóstico da doença de
Alzheimer. Dados provenientes de exames de eletroencefalograma de pacientes podem
ser utilizados para treinar um classificador.
Diferentemente de outras aplicações, em que soluções do tipo caixa-preta são acei-
táveis, em várias aplicações na área de saúde, além da capacidade preditiva, o usuário do
algoritmo de AM deseja uma explicação de como o algoritmo constrói suas hipóteses a
partir dos dados. Além disso, nessas aplicações, os erros podem ter custos diferentes.
É usualmente pior diagnosticar o paciente como saudável quando ele porta a doença do
que diagnosticar uma pessoa saudável como doente, pois nesse último caso novas bate-
rias de exames serão provavelmente realizadas e permitirão identificar que a doença está
ausente, enquanto no primeiro o paciente pode ser dispensado do tratamento.
Os métodos de AM também são usados para auxiliar exames clínicos e têm sido
empregados para avaliar sinais gerados por equipamentos médicos, como eletrocardio-
gramas, eletroencefalogramas, imagens obtidas de tomógrafos computadorizados, resso-
nância magnética, raios X e mamografias. Para diversas doenças, a capacidade preditiva
dos métodos de AM já vem superando a de muitos especialistas, como na detecção de
câncer de mama e doenças cardíacas.
350 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

Na análise de exames de imagens, técnicas populares de processamento de imagens são frequentemente usadas
para aprimorar, segmentar e reduzir os ruídos, a fim de possibilitar uma análise minuciosa da anatomia dos órgãos
e a detecção de diversas condições de doenças. As aplicações mais promissoras visam detectar tumores, estenose
arterial, delimitação de órgãos, entre outras.
Um exemplo é a classificação de imagens oftalmológicas. Muitas pessoas apresentam problemas de visão pro-
vocados por erros refrativos, que se manifestam por meio de problemas oculares como miopia, hipermetropia e
astigmatismo. Os dispositivos comumente empregados para diagnóstico desses erros precisam ser frequentemente
calibrados, possuem uma manutenção custosa e suporte técnico especializado. Neste contexto, diferentes algorit-
mos de AM podem ser combinados e utilizados para estimar erros refrativos por meio da classificação de imagens.
O processo de descoberta de novos medicamentos também é uma atividade extremamente complexa. Boas ini-
ciativas são frequentemente limitadas por milhares de testes, enormes gastos financeiros e de tempo. Algoritmos de
AM vêm sendo utilizados para simplificar e abreviar esse processo, oferecendo uma perspectiva a cada etapa, desde
a triagem inicial dos compostos até a previsão da taxa de sucesso com base em fatores biológicos. A ideia por trás
da descoberta computacional de medicamentos é realizar simulações de modelos como uma rede biologicamente
relevante, simplificando a obtenção de resultados com alta precisão. Esses modelos podem permitir escolher quais
experimentos devem ser realizados e incorporar novas informações em um ciclo de aprendizado contínuo. Técnicas
análogas também podem ser usadas para prever efeitos colaterais de combinações químicas específicas.
Aplicativos móveis baseados em algoritmos de AM podem fornecer suporte básico de saúde, geralmente na fi-
gura de chatbots ou sistemas de perguntas e respostas. Pacientes podem simplesmente descrever os sintomas ou fazer
perguntas e receber informações importantes sobre sua condição clínica. Esses aplicativos podem também lembrá-los
de tomar o medicamento no tempo certo e, se necessário, agendar uma consulta com um especialista. Normalmente,
esses aplicativos usam algoritmos de AM aliados a técnicas de processamento de linguagem natural para processar e
produzir informações, elaborar mapas complexos da condição do paciente e fornecer uma experiência personalizada.
Os algoritmos de AM também podem ser usados para auxiliar a padronização e a digitalização de diferentes
registros de dados e prontuários médicos. São usados, por exemplo, para o e reconhecimento óptico de caracteres
(OCR) são frequentemente empregadas no processo de digitalização. Os algoritmos de AM, em constante aprimora-
mento, podem possibilitar o uso e a troca de informações para auxiliar no diagnóstico e nas decisões de tratamento.
Para exemplificar, ambulatórios médicos e setores de urgência de hospitais raramente contam com computa-
dores portáteis para que médicos possam entrar com informações referentes às respostas dadas às perguntas feitas a
pacientes e sintomas detectados. Por isso, muitas vezes essas informações são preenchidas manualmente em formu-
lários específicos. A pressa no preenchimento de formulários pode levar a dificuldade de sua leitura e correta inter-
pretação. Para minimizar esses problemas, existem sistemas computacionais baseados em AM para reconhecimento
de escrita em formulários médicos.
A pesquisa em genética permite um nível avançado de personalização do tratamento. O objetivo é entender o
impacto do DNA em nossa saúde e encontrar conexões biológicas entre genética, doenças e resposta a medicamentos.
Neste contexto, as técnicas de AM possibilitam integrar diferentes tipos de dados com informações genômicas, forne-
cendo uma compreensão mais profunda das influências genéticas nas reações a medicamentos e doenças específicas.
Apesar do recente progresso no desenvolvimento de tecnologias para o sequenciamento de DNA, ainda há
muito a ser explorado. Diversos desafios existentes estão principalmente relacionados com as interações contínuas
entre os genes e as variáveis externas. Quando dados confiáveis do genoma forem adquiridos, é esperado que seja
possível obter uma compreensão mais profunda do DNA humano. Com isso, a previsão de risco genético poderá
ser um passo importante para oferecer um atendimento mais personalizado.
Recentemente, com o advento de dispositivos vestíveis, como os relógios e pulseiras inteligentes, os médicos
podem analisar dados biométricos continuamente coletados dos pacientes, e as técnicas de AM podem ser usadas
para obter resultados clinicamente relevantes a partir desses dados. Medições simples, como a frequência cardíaca
média em repouso, podem proporcionar uma rápida compreensão da condição cardíaca do paciente. Indicadores
mais avançados, como índice de estresse, podem ser usados para prever arritmias cardíacas com mais precisão. Nes-
se sentido, os algoritmos de AM dão suporte para que os médicos analisem um enorme volume de dados em um
curto espaço de tempo e, desta forma, acompanhem com mais precisão a saúde dos seus pacientes.
Capítulo
34
Sistemas de Perguntas
e Respostas
A segunda década do século XXI marcou o início de uma forte disputa e o consequente
avanço nas mais recentes manifestações de sistemas de perguntas e respostas, represen-
tados pelos assistentes virtuais de smartphones, como a Siri, Google Assistant e Cortana,
e os smart speakers, como o Google Home e o Amazon Echo.
A história desses sistemas começou por volta de 1950, quando Alan Turing utilizou
uma ideia de chat entre o humano e a máquina para julgar se uma máquina é dotada de
inteligência, e propôs o primeiro protótipo de um sistema de perguntas e respostas (Lu
et al., 2012). Notando a necessidade de formalizar esse novo tipo de sistema, Simmons
(1965) propôs uma nova subárea da computação denominada QA (Question Answering),
que se ocupa em responder perguntas realizadas em linguagem natural extraindo res-
postas assertivas de conjuntos de documentos, sendo ambos, respostas e documentos,
apresentados em linguagem natural (Athira et al., 2013).
Existem pelo menos quatro categorias de sistemas de QA (Lu et al., 2012):
ƒƒ Chatbots. Tentam imitar o comportamento humano no decorrer de um diálogo,
utilizando correspondência de padrões para produzir respostas apropriadas.
ƒƒ QAs que utilizam bases de conhecimento. Baseiam-se em técnicas de inferên-
cia para encontrar respostas em grandes bases de conhecimento. Eles são restri-
tos ao conteúdo presente nas bases disponíveis.
ƒƒ QAs baseados em sistemas de recuperação. Utilizam a pergunta em linguagem
natural proposta pelo usuário para disparar buscas sobre coleções de documen-
tos e páginas web, retornando os documentos encontrados.
ƒƒ QAs baseados em texto livre. Recuperam a informação de documentos e da
internet, porém contemplam um módulo adicional para extração da resposta,
retornando para o usuário respostas em linguagem natural e não apenas docu-
mentos ou páginas.
As categorias de sistemas de QA podem ser estratificadas em duas principais: i) siste-
mas de QA de domínio restrito (RDCA, do inglês Restricted Domain Question Answering)
e ii) sistemas de QA de domínio aberto (ODCA, do inglês Open Domain Question Answering)
(Allam e Haggag, 2012). Essas categorias são apresentadas nas seções a seguir.
352 Inteligência Artificial: Uma Abordagem de Aprendizado de Máquina

Sistemas de QA de Domínio Restrito (RDQAs)


RDQAs são capazes de responder perguntas apenas sobre determinado assunto (música, cinema, previsão do tem-
po, entre outros) e envolvem extenso uso de técnicas de PLN (Processamento de Linguagem Natural) e ontologias
específicas para o domínio abordado, sempre visando uma maior contextualização e detalhamento das respostas
(Mollá e Vicedo, 2007; Ramprasath e Hariharan, 2012).
RDQAs têm como características serem delimitados, complexos e práticos, sendo inicialmente abordados pe-
las limitações computacionais existentes e aplicados como forma de se realizar consultas em linguagem natural em
bases de dados (NLIDBs, do inglês Natural Language Interfaces for Databases). As três principais características
desses sistemas são (Minock, 2005):
ƒƒ Delimitado: um RDQA deve ser focado em determinado assunto de interesse, sendo que seu conteúdo
deve ser composto por fatos e possuir certo grau de detalhamento.
ƒƒ Complexo: um RDQA deve ainda conter diversas entidades inerentes ao domínio de interesse, sendo que
essas entidades devem possuir diversos atributos e diversas relações entre si.
ƒƒ Prático: um RDQA deve, por fim, responder perguntas que sejam relevantes para determinado grupo de
usuários e permitir que a aquisição e manutenção dos dados seja viável.
A principal limitação dos RDQAs é que eles não conseguem produzir respostas para perguntas cujo conteúdo
não esteja representado nas bases de conhecimento.

Sistemas de QA de Domínio Aberto (ODQAs)


ODQAs são capazes de abranger perguntas e respostas sobre diversos assuntos, utilizando fontes universais de
informação, por exemplo, enciclopédias (como Wikipedia). Dessa forma, demandam um esforço menor de prepa-
ração do conteúdo (Lu et al., 2012).
A amplitude de conteúdo manifesta a principal característica do domínio aberto — a universalidade de tópi-
cos. Em contrapartida, produzem respostas menos contextualizadas e completas que RDQAs.
ODQAs eram principalmente focados em responder perguntas relacionadas com entidades simples ou fac-
tuais, as quais podem ser expressadas em poucos termos. Posteriormente, eles evoluíram para poder responder
também a perguntas em formato de listas ou que envolvem relações entre entidades (Indurkhya e Damerau, 2010;
Allam e Haggag, 2012).
ODQAs são capazes de produzir respostas mais sucintas e precisas. Por outro lado, RDQAs produzem respos-
tas mais longas, completas e contextualizadas, e são, portanto, mais expressivas para os usuários.
Segundo Minock (2005), usuários já estão confortáveis com a utilização de buscas baseadas em palavras-chave,
sendo possível encontrar respostas semelhantes às produzidas por ODQAs. Portanto, a utilização de QA em domí-
nios abertos pode não ser tão proveitosa quanto em domínios restritos.
Idealmente, um sistema de QA deveria possuir a universalidade e precisão do domínio aberto e os detalhes e
expressividade do domínio restrito.

Arquitetura de Sistemas de QA
A arquitetura geral de sistemas de QA é demonstrada na Figura 34.1, na qual se destacam os três módulos principais:
análise de perguntas, recuperação de informação e extração de respostas (Indurkhya e Damerau, 2010; Lu et al., 2012;
Athira et al., 2013).
Capítulo 34 • Sistemas de Perguntas e Respostas 353

Pergunta Análise de perguntas

Documentos Recuperação de informação

Extração de respostas Resposta

Figura 34.1 Arquitetura padrão de sistemas de QA.

ƒƒ Análise de perguntas: módulo de interpretação das perguntas realizadas em linguagem natural, o qual
aplica técnicas de PLN para tratar as perguntas, preparando-as para o estágio subsequente.
ƒƒ Recuperação de informação: módulo responsável por apresentar as informações coletadas de diversas
fontes em formato adequado para associação com os resultados do módulo anterior, realizando a seleção
dos fragmentos mais relevantes dos documentos, utilizando técnicas de PLN. Esse módulo também pode
utilizar ontologias para complementar as fontes principais de informação.
ƒƒ Extração de respostas: módulo encarregado de realizar a seleção da resposta mais apropriada entre as candidatas
e construir a resposta em linguagem natural como resultado da interação dos dois módulos anteriores.
Capítulo
35
Sistemas de Recomendação
Com a popularização da internet e dos dispositivos móveis, usuários passaram a ser ex-
postos a milhares de filmes, músicas, produtos e serviços, sendo que apenas uma peque-
na parcela dessa informação é de interesse. Surgiu então, na década de 1990, o conceito
de sistemas de recomendação: ferramentas que recebem como entrada um conjunto de
informações relacionadas com usuários e itens e tem como objetivo encontrar um sub-
conjunto destes itens que seja do interesse de cada usuário. Com o passar dos anos e
amadurecimento dos sistemas de recomendação, o seu conceito e utilização passou a ser
cada vez mais presente. Hoje, é difícil navegar pela internet sem se deparar com alguma
ferramenta que possua este propósito.
A difusão dos sistemas de recomendação fez com que as empresas percebessem cada
vez mais a importância de garantir uma experiência única para cada cliente por meio de
recomendações personalizadas. Em diversas empresas, a enorme maioria de itens aces-
sados ou consumidos diariamente por seus usuários são frutos de seus algoritmos de
recomendação. Com o amadurecimento dos sistemas de recomendação, a área foi dividi-
da de acordo com o funcionamento e os dados utilizados por cada método. Sistemas de
recomendação podem ser de Filtragem Baseada em Conteúdo, Filtragem Colaborativa,
Filtragem Demográfica, Filtragem Híbrida e Filtragem Baseada em Conhecimento. Destas,
temos a primeira e a segunda como as mais presentes na literatura e aplicações reais.
A Filtragem Colaborativa (FC) consiste em um conjunto de interações entre usuá-
rios e itens, como compras realizadas ou notas utilizadas para avaliação. Seu objetivo
é prever relações para pares usuário-item que ainda não possuem entrada no sistema,
descobrindo assim o que recomendar para os usuários.
As relações entre itens e usuários podem se dar de diferentes maneiras, como uma
pontuação variando dentro de um intervalo (uma nota atribuída a um item por um usuá-
rio), um valor binário (a ação de gostar ou não gostar de um item) ou, até mesmo, um
valor unário (o consumo ou compra de um item). Tais dados podem ser obtidos de forma
explícita, com o usuário informando seu grau de relação com o item, ou implícita, anali-
sando apenas as ações do usuário.
Diversas técnicas foram propostas para o cenário de FC. Dentre elas, destacam-se os
algoritmos de vizinhança e de fatoração de matrizes. Em um primeiro momento na área,
era comum o uso de algoritmos baseados em similaridade, como o tradicional k-vizinhos
mais próximos (k-NN), que alcançavam bons resultados e eram pouco complexos. Tais
algoritmos consistem em definir medidas de comparação entre usuários para encontrar
aqueles que apresentam gostos mais semelhantes. Com esta informação, é possível inferir
Capítulo 35 • Sistemas de Recomendação 355

os gostos de um usuário baseado em seus vizinhos. Posteriormente, foi demonstrado que utilizar medidas de simi-
laridades sobre os itens, e não sobre os usuários, pode contribuir significativamente na qualidade da recomendação.
A este modelo, deu-se o nome de similaridade baseada em item.
Com o avanço da tecnologia, os dados utilizados por estes sistemas cresceram, trazendo problemas para a área.
Dois deles tornaram a recomendação por similaridade computacionalmente custosa: (i) alta esparsidade, visto que a
quantidade de relações usuário-item é extremamente inferior à quantidade de usuários e itens; e (ii) escalabilidade,
pois é comum que os dados sejam representados por matrizes que crescem drasticamente com a chegada de novos
itens e usuários.
Começou então a busca por maneiras de se contornar esses problemas. Inicialmente, foram propostas altera-
ções no k-NN, como o uso de agrupamento para redução de vizinhança ou a implementação de agentes inteligentes
para avaliação automática de itens. Entretanto, foi com a aplicação do método SVD (Singular Value Decomposition)
que a área presenciou melhoras significativas. A técnica, batizada de fatoração de matriz, se fez presente em diversos
trabalhos, se consolidando ainda mais ao apresentar excelentes pontuações no Netflix Prize.1
Algoritmos de fatoração de matriz têm como objetivo decompor uma matriz incompleta de interações usuá-
rio-item em duas matrizes menores, cada uma representando usuários ou itens. Esta decomposição é realizada de
forma que seja possível a reconstrução da matriz original utilizando as resultantes. Na reconstrução, são mantidos
os valores das avaliações existentes e previstos os valores das faltantes, gerando a recomendação.
Para bases de dados com interações explícitas, diversos algoritmos de fatoração matricial foram propostos,
com destaque para o SVD++ e Factorization Machines (FM). O SVD++ utiliza-se de feedback implícito sobre os da-
dos para melhorar os resultados do SVD tradicional. Já o FM corresponde a uma junção de modelos de fatoração e
o SVM. Experimentos com o FM mostraram como o algoritmo consegue atingir resultados comparáveis ao SVD++,
sendo mais genérico e aplicável em diferentes problemas.
Algoritmos de fatoração de matriz se tornaram o estado da arte na área de recomendação, tanto em bases
explícitas quanto implícitas. Entretanto, experimentos apontam que essas técnicas sofrem perda de qualidade para
bases de dados extremamente esparsas. Outra característica é que, embora representem itens e usuários em espaços
de dimensão reduzida, essa representação não carrega nenhum significado semântico em relação à entidade que
representam.
Estudos recentes vêm buscando melhorar este cenário, representando itens de forma vetorial distribuída, o que
reduz a dimensionalidade da representação, mas mantém seu significado. Estes estudos estão sendo baseados em
técnicas bastante consolidadas da área de processamento de linguagem natural, capazes de mapear palavras para
vetores sem perder as relações semânticas das mesmas.

1
Famosa competição na área de sistemas recomendação, organizada pela empresa Netflix durante os anos de 2006 a 2009.

Você também pode gostar