Buscar

Linguagens de Programação para IA

Prévia do material em texto

Unidade IV
Linguagens de Programação para IA
Inteligência 
Artificial
Diretor Executivo 
DAVID LIRA STEPHEN BARROS
Gerente Editorial 
CRISTIANE SILVEIRA CESAR DE OLIVEIRA
Projeto Gráfico 
TIAGO DA ROCHA
Autoria 
ALAN DE OLIVEIRA SANTANA
AUTORIA
Alan de Oliveira Santana
Olá. Sou Alan de Oliveira Santana, possuo graduação em Ciência da 
Computação – Universidade do Estado do Rio Grande do Norte – e Mestre 
em Sistemas da Computação – Universidade Federal do Rio Grande do 
Norte. Atualmente sou professor conteudista, elaborador de cadernos 
de questões e doutorando em Ciências da Computação. Como cientista, 
atuo no desenvolvimento e avaliação de técnicas de desenvolvimento de 
sistemas com ênfase na educação.
Desse modo, fui convidado pela Editora Telesapiens a integrar seu 
elenco de autores independentes. Estou muito satisfeito com o convite 
e a possibilidade de auxiliar em seu desenvolvimento intelectual e 
profissional. Bons estudos!
ICONOGRÁFICOS
Olá. Esses ícones irão aparecer em sua trilha de aprendizagem toda vez 
que:
OBJETIVO:
para o início do 
desenvolvimento 
de uma nova 
competência;
DEFINIÇÃO:
houver necessidade 
de apresentar um 
novo conceito;
NOTA:
quando necessárias 
observações ou 
complementações 
para o seu 
conhecimento;
IMPORTANTE:
as observações 
escritas tiveram que 
ser priorizadas para 
você;
EXPLICANDO 
MELHOR: 
algo precisa ser 
melhor explicado ou 
detalhado;
VOCÊ SABIA?
curiosidades e 
indagações lúdicas 
sobre o tema em 
estudo, se forem 
necessárias;
SAIBA MAIS: 
textos, referências 
bibliográficas 
e links para 
aprofundamento do 
seu conhecimento;
REFLITA:
se houver a 
necessidade de 
chamar a atenção 
sobre algo a ser 
refletido ou discutido;
ACESSE: 
se for preciso acessar 
um ou mais sites 
para fazer download, 
assistir vídeos, ler 
textos, ouvir podcast;
RESUMINDO:
quando for preciso 
fazer um resumo 
acumulativo das 
últimas abordagens;
ATIVIDADES: 
quando alguma 
atividade de 
autoaprendizagem 
for aplicada;
TESTANDO:
quando uma 
competência for 
concluída e questões 
forem explicadas;
SUMÁRIO
Definição e modelos de linguagem natural ................................... 10
Uma breve história do surgimento do processamento de linguagem 
natural ...................................................................................................................................................... 10
Conceitos fundamentais sobre processamento de linguagem natural ........ 15
Extração, recuperação e classificação de informações ............20
Classificação dos dados ............................................................................................................ 20
Redes Neurais Artificiais .......................................................................................... 21
Recuperação da informação ...................................................................................................26
Extração de informação .............................................................................................................27
Gramáticas e os modelos de linguagem natural .........................29
Introdução às gramáticas ..........................................................................................................33
O processo de percepção da IA ...........................................................38
Sensores ............................................................................................................................................... 39
Percepção de objetos complexos ......................................................................................42
7
UNIDADE
04
Inteligência Artificial
8
INTRODUÇÃO
Comunicação é uma característica ímpar nas sociedades humanas, 
especificamente pelo fato de que armazenamos informações para uso 
futuro a vários milênios. 
Na era moderna, onde a comunicação tem se tornado cada vez 
mais inclusiva e rápida, sistemas inteligentes passam a serem dotados 
com capacidades cada vez mais eficientes e realistas quanto a simulação 
da inteligência e comunicação em linguagem natural.
Sobre a linguagem natural, esta habilidade nos permite comunicamo-
nos de forma eficiente, algo que os computadores ainda não são 
completamente capazes de fazer de forma autônoma. Porém, os modelos 
de comunicação e processamento de linguagem natural, tem se tornado 
cada vez mais eficientes, algo que está sendo acompanhado pelo rápido 
desenvolvimento de tecnologias mais rápidas e baratas. 
Tais fatores geraram avanços excepcionais no desenvolvimento 
de agentes virtuais capazes de se comunicar, podendo ser visto como 
atendentes, tutores escolares, consultores, guias, entre várias outras 
funções que já estão presentes no nosso dia a dia.
Desta forma, esta unidade explorará os principais conceitos ligados 
a comunicação avançada através dos agentes inteligentes, concluindo 
assim nosso estudo sobre a Inteligência Artificial. Vamos começar nossa 
aventura!
Inteligência Artificial
9
OBJETIVOS
Olá. Seja muito bem-vindo à Unidade 4. Nosso objetivo é auxiliar 
você no desenvolvimento das seguintes competências profissionais até o 
término desta etapa de estudos:
1. Definir modelos de linguagem natural. 
2. Extrair, recuperar e classificar informações. 
3. Compreender o uso de gramáticas em aplicações que utilizam 
linguagem natural. 
4. Assimilar o processo de percepção da IA. 
Então? Preparado para adquirir conhecimento sobre um assunto 
fascinante e inovador como esse? Vamos lá!
Inteligência Artificial
10
Definição e modelos de linguagem natural
OBJETIVO:
A habilidade de comunicação humana é uma das principais 
características que nos distinguem de outros animais. 
Utilizamos diversas ferramentas para esta comunicação, 
entre elas a linguagem verbal e corporal, porém, outras 
ferramentas de comunicação como símbolos e escrita, nos 
permitem trocar informações e ideias de forma objetiva e 
eficiente. Semelhante as características citadas, a IA possui 
ramos de estudo que procuram dotar agentes virtuais 
com a capacidade de comunicar-se como os humanos, 
facilitando a interação das máquinas com os usuários. 
Assim, o objetivo desta unidade é explorar os mecanismos 
e características dos agentes inteligentes dotados com 
habilidades de comunicação de alto nível, chamadas de 
linguagem natural. Bons estudos!
Uma breve história do surgimento do 
processamento de linguagem natural
Uma característica comum em todas as sociedades humanas desde 
a criação da escrita, é a capacidade de comunicação através da fala, 
característica que foi especializada e organizada através da formalização 
das diversas línguas modernas.
DEFINIÇÃO:
Podemos definir uma linguagem natural como a forma como 
os humanos se comunicam, especialmente através da fala 
e da escrita. Porém, este tipo de linguagem, normalmente 
baseadas em gramáticas, são repletas de informações que 
geram múltiplas interpretações (GONZALEZ; LIMA, 2003).
Esse número elevado de interpretações faz da linguagem natural 
uma ferramenta complexa, mesmo que facilmente usada pelos humanos.
Por exemplo. Perceba cada palavra que compõem a seguinte frase:
Inteligência Artificial
11
Este sorvete de manga caiu sobre a manga da camisa dele.
Note que a frase acima é composta de dois termos com significado 
diferente, porém, com grafia igual destacados no texto.
O primeiro termo manga se refere a fruta proveniente da árvore 
mangueira. Por sua vez, o segundo termo manga se refere a uma parte de 
alguns tipos de vestuários.
Outros dois exemplos, apresentado por Russell (2013), são as 
seguintes frases:
Ele viu o banco
Não ser convidado é triste
A primeira frase, similar ao exemplo do uso do termo manga, possui 
vários sentidos, como por exemplo, pode estar se referindo a um objeto 
para se sentar ou uma instituição financeira.
Já a segunda frase está ligada ao sentido do que se quer dizer 
ligado ao indivíduo, uma vez que para uns, não serconvidado pode ser 
uma coisa positiva, todavia, para outros pode ser algo negativo.
Em todos os exemplos é possível perceber que a comunicação 
natural é complexa por ser constituída de significados que são dados 
pelo contexto, por sentimentos, e por outras variáveis, muitas de difícil 
classificação (RUSSELL, 2013).
As línguas modernas procuram dar o entendimento de como usar 
corretamente cada termo através das gramáticas e dicionários das línguas, 
como do inglês e do português, que possuem estes artefatos para auxiliar 
o correto uso dos símbolos escritos e dos sons falados.
Como citado, as habilidades ligadas à linguagem natural 
compreendem, em sua forma verbal, a fala e a escrita, todavia, nem 
Inteligência Artificial
12
todas as sociedades chegaram a desenvolver a escrita, porém, todas 
desenvolveram a linguagem falada. 
Ademais as duas formas de comunicação citadas, a linguagem 
corporal também é usada para dar entonação, sentido, emoção, e outras 
características importantes para a comunicação.
Também podemos citar a dificuldade entre dois interlocutores que 
não dominam uma boa quantidade de símbolos e significados usados 
na comunicação, bem como, quando ambos estão se comunicando 
através de línguas diferentes. Problemas como os citados podem gerar 
dificuldades ou completa impossibilidade na comunicação.
Desta forma, se comunicar através da fala e escrita é uma habilidade 
complexa que demanda grau necessário de compreensão e entendimento 
da aplicação dos sons e símbolos da língua, especificamente entre os 
dois interlocutores. Compreensão das reações físicas, como: expressões 
faciais, gestos, entonação da voz, escolha dos símbolos, entre outras, são 
ferramentas ligadas a boa comunicação.
Apesar da simplicidade para um nativo humano se comunicar com 
outro nativo em vista da facilidade que muitos o fazem, muitas vezes 
esconde o processo de alfabetização e aprendizagem de uma língua por 
qualquer falante.
Geralmente, o processo de domínio de uma quantidade mínima 
de palavras, seja por uma criança ou adulto sendo alfabetizado, é um 
processo longo e custoso, requerendo dedicação e constante treino.
Da mesma forma, tornar um agente virtual capaz de compreender 
e comunicar-se através da linguagem natural, é um processo complexo, 
com a área da Inteligência Artificial (IA) chamada de Processamento de 
Linguagem Natural (PLN) sendo responsável por estudos computacionais 
com este propósito.
A origem da PLN pode ser considerada através do trabalho de 
Alan Turing. Segundo Turing (1950), de forma objetiva, um agente será 
considerado inteligente se for capaz de se comunicar com um ser humano 
Inteligência Artificial
13
sem que este consiga diferenciar se está interagindo com um humano ou 
máquina.
REFLITA:
O teste de Turing foi um marco na busca pela criação de 
sistemas inteligentes e especificamente, no processo 
de compreensão e interação das máquinas dotadas de 
inteligência com os humanos. O teste permitiu que diversos 
pesquisadores procurassem criar agentes capazes de 
atender as especificações do teste, fator que gerou 
diversos achados importantes para o desenvolvimento 
de técnicas de processamento de linguagem natural que 
iremos explorar nesta unidade.
Como exposto por Neto, Tonin e Prietch (2010), os primeiros 
sistemas que aplicaram PLN possuíam quatro características distintas que 
permitiam sua identificação e classificação. 
O Quadro 1 apresenta as quatro características citadas. Vejamos.
Inteligência Artificial
14
Quadro 1 – Categorias históricas das PLNs baseadas em características distintas
Características
Ao ignorar certos problemas específi cos ligados ao processamento 
de linguagem natural, sistemas simples podiam aplicar soluções 
para um número determinado de objetivos, sendo a principal 
característica destes sistemas a simplicidade.
Certos sistemas mantinham bases de conhecimento prévia 
através de combinações possíveis de palavras ou de textos. Essa 
característica permitia sua aplicação a diversos problemas, porém, 
não era possível deduzir contextos ou signifi cados complexos das 
orações.
Alguns sistemas mantinham bases de dados prévias que proviam 
a capacidade de deduzir notações formais através de entradas de 
texto em forma de frases. Todavia, as possibilidades eram fortemente 
ligadas a quantidade de dados mantidos na ase, algo que é 
extremamente custoso de se construir, especialmente no início da 
computação.
A dedução quanto habilidade, era uma das principais características 
dos sistemas que eram capazes de realizar deduções com base 
em seus dados de conhecimento sobre um domínio. Todavia, estes 
sistemas funcionavam como sistemas especialistas, sendo aplicados 
para um conjunto muito específi co de problemas.
Fonte: Adaptado de Neto, Tonin e Prietch (2010)
Foi a partir da década de sessenta que as aplicações que utilizavam 
de forma eficiente características ligadas a PLN começaram surgir, 
especificamente auxiliando em áreas como a medicina e matemática 
(SILVA; LIMA, 2013).
Podemos destacar o programa ELIZA, publicado em 1966 pelo 
pesquisador do MIT Joseph Weizenbaum.
O objetivo do sistema ELIZA era realizar conversões de linguagem 
natural inseridas por um usuário humano, em linguagem de máquina. 
Ao receber uma entrada de dados, em forma de fresas, ELIZA varria sua 
base de dados para identificar palavras-chaves previamente registradas 
que eram comparadas com palavras do texto. Utilizando posteriormente 
Inteligência Artificial
15
a análise, regras de remontagem das frases com base em regras de 
decomposição (WEIZENBAUM, 1966).
Segundo o trabalho de Weizenbaum (1966), o desenvolvedor do 
algoritmo ELIZA, este sistema estava ligado a cinco problemas técnicos, 
sendo eles apresentados no Quadro 2. 
Quadro 2 – Problemas ligados ao algoritmo ELIZA
Problemas
1° Identifi cação de palavras-chave
2° Descoberta de um contexto mínimo
3° Escolha de transformações apropriadas
4° Geração de respostas na ausência de palavras-chaves
5° Fornecimento de um recurso de edição para "scripts" ELIZA
Fonte: Weizenbaum (1966)
Perceba que o algoritmo ELIZA procurava deduzir espaços vazios 
quando as palavras-chaves não estavam presentes, permitindo que 
este sistema apresentasse um ótimo nível de dedução, algo que ainda é 
utilizado em sistemas simples modernos.
Conceitos fundamentais sobre 
processamento de linguagem natural
A seção anterior apresentou um breve histórico e algumas relações 
entre os primeiros modelos arquiteturais ligados ao processamento de 
linguagem natural, especificamente, apresentando os primeiros algoritmos 
e também algumas ligações com a simulação dos processos biológicos, 
normalmente usando como base o comportamento comunicativo 
humano, com os fundamentos apresentados.
Desta forma, esta sessão apresentará mais conceitos, principalmente 
vinculados aos agentes modernos e as soluções que estes aplicam.
Para permitir o entendimento de como os sistemas aplicam técnicas 
de processamento de linguagem natural, é importante compreender como 
um sistema lógico não inteligente utiliza as linguagens de programação, 
Inteligência Artificial
16
permitindo assim a compreensão da complexidade ligada aos agentes 
que processam a comunicação humana ou de outros animais.
Um sistema lógico, ou seja, um programa escrito em linguagens 
como Java, C++ e Python, tratam as entradas através da lógica 
proposicional, ou através de camadas de tratamento baseados na lógica 
de primeira ordem. Todavia, todos possuem um conjunto de modelos 
previamente definidos.
Para permitir uma compreensão mais eficiente, vamos retomar 
conceitos que podem ser comparados e aplicados com a PNL presentes 
nas unidades anteriores, como por exemplo:
Vimos que a lógica proposicional permite que sistemas inteligentes 
possam usar uma base bem definida e relativamente simples para 
o tratamento de entradas, sejam de origem certa ou incerta. Paracompensar limitações de tipos de entrada diferentes de números binários, 
a lógica de primeira ordem expande as possibilidades de entradas e 
saídas, permitindo sistemas de tratamento mais complexos. Ligados a 
ambas lógicas, compreendemos que algoritmos específicos podem ser 
aplicados para o tratamento de incertezas, especificamente ao incluir 
conceitos como emoção e probabilidade nestas análises.
Problemas como a variação de entradas de dados, necessidade 
de formação de uma base de conhecimento e incerteza tratada com 
probabilidade, são assuntos que estão fortemente ligados ao tratamento 
de linguagem natural.
Entre estas análises, o uso do algoritmo de Markov pode ser usado 
para o tratamento de entradas prováveis seguidos ou não de caracteres 
previstos. Por exemplo:
Exemplo: Se uma entrada de palavras possuir uma base de dados 
que estrutura o reconhecimento da frase “estou com fome”, ao receber 
o primeiro caractere “estou” e em seguida “com”, o algoritmo de Markov 
pode prever com base em outras regras como emoção ou estado atual, 
prever se o próximo caractere será “fome”, bem como, ser utilizado para 
usar toda a expressão em prol de identificar o sentido ou como responder 
a esta entrada.
Inteligência Artificial
17
Segundo Russell (2013), outro exemplo prático do tratamento de 
entradas baseadas em caracteres é o modelo N-grama. Este modelo 
trata cada entrada de caractere como um conjunto n de caracteres, o 
qual, possuirá uma probabilidade de formação de palavras ou textos com 
base na combinação e análise de cada caractere.
Ainda segundo Russell (2013), o uso da estratégia N-grama é 
indicado, e usada comumente, em problemas de identificação da 
linguagem utilizada.
Por exemplo. Se uma sequência dupla de entradas de texto for igual 
a “I’m a programmer” e “Eu sou um programador”, este tipo de sistema será 
capaz de identificar que a primeira oração é escrita em inglês e a segunda 
em português.
REFLITA:
Com base no exemplo acima, onde um sistema é capaz 
de identificar se um texto pertence a uma língua. Como o 
sistema trataria um problema onde a escrita de uma frase 
é completamente igual entre duas línguas que o sistema 
domina. Note que seria preciso inserir um conjunto de regras 
probabilísticas para definir qual a maior probabilidade de 
ser uma língua e não outra. Para isto, o algoritmo de Markov 
pode ser aplicado para processar essa probabilidade com 
base no modelo oculto de Markov.
Perceba que nas lógicas de programação, um valor, uma vez 
definido, seja pela lógica proposicional ou por meios probabilísticos, 
passa a ater apenas um significado. Por sua vez, um termo definido na 
PLN, pode apresentar diferentes significados, como já apresentado em 
exemplos como o uso da palavra manga.
Desta forma, uma das principais soluções aplicadas para representar 
os diferentes significados que podem ser aplicados em entradas baseadas 
em linguagem natural, é o uso da probabilidade, especificamente através 
de modelos baseados em bases de conhecimento fixas ou dinâmicas. 
Conceito este já explorado nos sistemas incertos de primeira ordem das 
unidades anteriores.
Inteligência Artificial
18
Note que uma base de informações para consulta é uma ferramenta 
importante para que o sistema possa criar modelos de avaliação e decisão 
sobre os dados de entrada.
Esta base pode ser criada com base em grafos, máquinas de 
estado finitas, uso de regras proposicionais, ou até mesmo árvores de 
combinação de caracteres.
SAIBA MAIS:
Muitos sistemas do dia-a-dia trabalham com PLN 
processando a comunicação entre o usuário e o 
programa. Entre eles, podemos destacar os sistemas de 
processamento de linguagem natural do google, google 
assistente, usados em diversos smartphones em todo o 
mundo, com cada vez mais usuários, permitindo que o 
usuário faça pesquisas ou requisite que processos sejam 
ativados com base em comandos verbais. Para saber mais 
sobre este sistema, algo que agregará na compreensão 
geral da aplicação das PLNs, acesse clicando aqui:
Outro conceito importante são as emoções e expressões físicas. 
Por exemplo, como uma máquina será capaz de entender uma ironia, 
ou identificar a prioridade de uma requisição. Assim, a compreensão e 
identificação destes padrões, auxiliam os agentes baseados em PLN a 
classificarem de forma mais correta as informações ligadas a comunicação.
Inteligência Artificial
https://support.google.com/assistant/answer/7394306?co=GENIE.Platform%3DAndroid&hl=pt-BR
19
RESUMINDO:
Ao final deste capítulo, nós vimos alguns conceitos ligados 
ao processamento de linhagem natural. Primeiramente 
aprendemos um pouco sobre a história de como surgiu 
a PLN, bem como, sua relação com processos naturais 
presentes em diversos animais e principalmente nos 
humanos. Em seguida, aprendemos sobre mais alguns 
conceitos da PLN, como sua distinção entre a lógica 
de programação, bem como, algumas estratégias no 
tratamento de entradas baseadas em linguagem natural, 
como o uso do N-grama. Entre estes conceitos, foi 
apresentado a importância de uma base de dados fixa ou 
dinâmica que permite os agentes baseados em PLN a usar 
modelos de tratamento, bem como, o uso de probabilidade 
e tratamentos de expressões e emoções para a eficiente 
classificação dos contextos processados. Assim, este 
conteúdo servirá de base para as demais unidades, que 
procurarão aprofundar os conceitos já apresentados e 
explorar ferramentas que auxiliam o processamento de 
dados em agentes baseados em PLN.
Inteligência Artificial
20
Extração, recuperação e classificação de 
informações
OBJETIVO:
Este capítulo apresentará como se dá os processos de 
classificação, recuperação e extração de informações, 
permitindo que os agentes tratem os dados de forma 
eficiente, especificamente quando ligados a classificação 
dos contextos das entradas baseadas em linguagem 
natural. Vamos lá!
Classificação dos dados
Esta seção tratará sobre os processos de classificação das entradas 
baseadas em PLN, porém, será dado foco na classificação de entradas 
de textos. Além do exposto, também retomaremos conceitos ligados ao 
uso de algoritmos probabilístico supervisionados, como Markov e Bayes.
Exemplo: Tomemos por base dois interlocutores. O primeiro inicia 
a comunicação atraindo a atenção do outro como um alerta, indicando 
que uma informação muito importante deve ser discutida por ambos. A 
notícia poderá ser classificada como verdadeira ou falsa, visto que, muitas 
das interações do primeiro interlocutor são classificadas como mentiras. 
Perceba que existe uma condição externa ao texto que é o fato de 
existir uma frequente classificação como mentira nas comunicações do 
primeiro interlocutor. Este fato por si só gera uma probabilidade da nova 
interação ser também classificada como mentira.
Perceba que problemas como o citado podem ser resolvidos através 
de modelos probabilísticos como por exemplo as redes de bayes, o qual, 
utilizam uma faixa de probabilidades para os diversos valores das variáveis, 
ou das hipóteses, sendo o somatório de todas as probabilidades igual a 1.
Além do exposto, este tipo de problema também requer que a cada 
interação com o primeiro interlocutor, a base de conhecimento sobre seu 
padrão seja atualizada, como por exemplo a aprendizagem por reforço. 
Inteligência Artificial
21
Assim, o processo de classificação é uma etapa vital para que os 
agentes baseados em PLN possam processar entradas de texto. Este 
processo é chamado de categorização (RUSSELL, 2013).
Note que para categorizar algo, é preciso tomar por base algum 
modelo que identifique ou distribua os dados. Modelos eficientes de 
classificação aplicados a IA é geralmente dividida em dois grandes 
grupos, os algoritmos supervisionados e não supervisionados, o qual, já 
foram explorados na unidade 3 deste material.
Desta forma, é importante lembrar que em problemas 
supervisionados, as classes são previamente conhecidase suas 
características treinadas e testar para criar modelos específicos para 
identificá-las.
Todavia, em problemas não supervisionados, as classes, chamadas 
de clusters, não são previamente identificadas, cabendo ao algoritmo 
categorizar as características principais presente em cada elemento que 
fará parte de um cluster.
EXPLICANDO MELHOR:
Outro ponto importante para a compreensão do processo 
de classificação dos textos, é identificar que as entradas 
são baseadas na lógica de primeira ordem, ou seja, em 
geral, os dados que serão avaliados serão textos formados 
por cadeias de caracteres, onde estes poderão ser letras, 
números e símbolos especiais.
Com base no exposto, fica claro que algoritmos como o k-nn, 
árvore de decisão e bayes, são eficientes classificadores supervisionados 
para problemas ligados a agentes PLN. Todavia, iremos explorar um outro 
tipo de algoritmo de classificação muito importante. As Redes Neurais 
Artificiais (RNA).
Redes Neurais Artificiais
As RNA são algoritmos de classificação supervisionadas, todavia, 
foram deixadas para serem exploradas juntamente com os processos 
Inteligência Artificial
22
de linguagem natural pela simbologia de ambas simulares aspectos 
orgânicos muito independentes do cérebro dos animais, permitindo assim 
que este algoritmo seja utilizado de forma mais prática, explorando-o 
através de exemplos práticos ligados aos agentes PLN.
Para compreender o que são as redes neurais, é preciso 
compreender previamente como é estruturada as células nervosas, 
especificamente, as células cerebrais.
O cérebro humano é constituído de células chamadas de neurônios, 
os quais constituem estruturas semelhantes a redes, conectando os 
neurônios de forma a poderem trocar informações diretamente ou 
indiretamente.
O termo rede vem do inglês, web, que é o fonema que representa 
as teias de aranha, estruturas formadas por diversos fios que se conectam 
em pontos específicos, fortalecendo a estrutura. Termo que cunhou a 
expressão networks, ou rede de trabalho.
De forma semelhante, cada neurônio cerebral, é um nó (ponto), 
conectado com um número X de outros neurônios (a conexão é entendida 
como os vértices que ligam os pontos). 
A Figura 1 apresenta um esquema que simboliza uma rede que 
conecta alguns neurônios, simulando uma rede neural.
Figura 1 – Exemplo da estrutura de uma rede neural
 
 
 
 
 
 
 
 
 
 
 
Fonte: Autor (2020)
Inteligência Artificial
23
Observa a Figura 1 e note que cada círculo representa um neurônio, bem 
como, cada vértice (linha) representa as conexões que cada neurônio possui.
Perceba também que podemos isolar três grupos de neurônios, 
como pode ser visto na Figura 2, além dos vértices que conectam os 
elementos poderem conectar-se com mais de um objeto de cada grupo.
Figura 2 – Exemplo de grupos em RNA
 
 
 
 
 
 
 
 
 
 
 
Fonte: Autor (2020)
Assim, semelhante aos neurônios biológicos, podemos dizer que 
cada grupo é responsável por um tipo de tarefa específica, todavia, 
compartilha informações com outros grupos de classes de funções.
Uma rede neurológica é uma estrutura complexa, porém, a rede 
serve para comunicação, uma vez que cada neurônio realiza etapas de 
processamento de dados e geração de saída de forma independente uns 
dos outros.
Para melhor entendimento, é preciso ver mais de perto como se 
estrutura um neurônio.
Segundo Faveri e Resende (2020), os neurônios são formados por 
três partes distintas, o núcleo, o axônio e os dendritos, com o cérebro 
podendo ser divido em massa cinzenta (40%), formada pelos neurônios, e 
substância branca (60%), formada pelos axônios e dendritos. 
Inteligência Artificial
24
Como o oxigênio é um dos mais importantes elementos ligados 
a liberação de energia nas células e o processamento das informações 
se dá no núcleo dos neurônios, esta parte é responsável sozinha por 
consumir até 94% do oxigênio disponível no cérebro. 
A Figura 3 apresenta um exemplo da estrutura de um neurônio 
humano.
Figura 3 – Esquema de um neurônio biológico
 Dendritos 
Núcleo 
Terminais do axônio 
Fonte: Autor (2020).
Assim, podemos definir assim a função de cada parte de um 
neurônio, sendo elas:
 • Núcleo: Responsável pelo processamento da informação.
 • Dendritos: Terminais nervosos que captam os impulsos bioelétricos 
de outros neurônios.
 • Axônio: Terminais nervosos que emitem impulsos bioelétricos 
para outros neurônios.
Com base no exposto, uma das primeiras formas utilizadas para o 
desenvolvimento de modelos inteligentes, procurou simular a estrutura 
das redes neurais biológicas, pavimentando os estudos modernos sobre 
as Redes Neurais Artificiais (RUSSELL, 2013).
Inteligência Artificial
25
Uma RNA é composta de estruturas denominadas neurônios 
artificiais e camadas de tratamento. Cada neurônio, também conhecidos 
como unidades, se conecta com outras estruturas de forma direcionada, 
ou seja, de um início para um fim.
SAIBA MAIS:
A fim de não aprofundarem em dinâmicas matemáticas que 
explicaram como se dá de fato o tratamento da informação, 
esta sessão apenas explicará de forma superficial o 
funcionamento de uma RNA. Para saber mais sobre como 
estas redes processam os dados, clique aqui e leia mais 
sobre este assunto:
Como citado, as redes são estruturas que aplicam camadas de 
tratamento para classificação dos objetos. Para isso, cada neurônio terá 
um valor associado denominado peso (LIVIERIS; ILIADIS; PINTELAS, 2020).
Desta forma, cada neurônio terá um peso associado, determinado 
pela soma ponderada de suas entradas. Ou seja, para cada variação de 
entradas, os neurônios determinarão um valor que determinará qual será 
sua saída.
Assim, se uma determinada entrada for mais comum que outra, a 
com maior frequência de aparecimento possuirá um peso associado maior.
Relembremos o exemplo dos dois interlocutores, onde o primeiro 
era conhecido por mentor com frequência. Note que esta frequência 
determinou uma maior chance de pré-classificar sua explanação como 
mentira. Da mesma forma, a frequência também determina a maior 
probabilidade de um neurônio seguir um determinado padrão.
Um neurônio pode receber mais de uma entrada ao mesmo tempo 
através de interfaces de entrada que simulam os Dendritos. Em seguida 
a informação é processada em seu núcleo, clara referência ao núcleo 
biológico, e por fim uma saída é dada e enviada para a próxima camada 
de tratamento, simulando o Axônio.
Como cada neurônio possui um peso associado para um conjunto 
de entradas, a utilização de uma rede de neurônios permite que diferentes 
Inteligência Artificial
https://medium.com/@davivc/um-mergulho-profundo-na-matem%C3%A1tica-por-tr%C3%A1s-das-redes-neurais-77994b87a2ab
26
saídas sejam geradas pela probabilidade em cada unidade. Ademais, um 
conjunto finito de unidades pode ser estipulado para cada camada.
Desta maneira, as saídas combinadas das unidades da camada 
anterior, servirão de entradas para a próxima camada, recombinando a 
informação até gerar uma saída final.
O número de camadas e unidades em uma rede é definida pelo 
programador, onde este procurará o melhor conjunto de quantidade de 
camadas e neurônios para criar um modelo eficiente para um problema 
específico.
Recuperação da informação
O processo de recuperação de informação é um tipo de ação onde 
buscasse encontrar dados em análises específicas.
Por exemplo. Uma das estratégias de recuperação mais conhecidas 
é o protocolo de redes HTTP. Este protocolo busca recuperar páginas 
com base em uma estrutura de requisição bem definida (WIJAYA, 2020).
Segundo Russell (2013), uma das estratégias mais simples de 
recuperação de informação é a busca binária. A busca binária permite que 
uma entrada qualquer seja identificada como falsa ou verdadeira com 
base em um conjunto de regras bem definidas.
Por exemplo, a entrada “usar algoritmo supervisionado” só terá 
sentido caso os dados tratadossejam possíveis de classificar com base 
em classes já definidas.
Desta forma, este tipo de estratégia busca dar significado a 
estruturas, todavia, a classificação sempre será na ordem binária, não 
permitindo uma boa ou efetiva classificação da ordem de prioridade dos 
elementos estruturados. Outro problema é que um dos objetivos da PLN é 
processar, porém, também é se comunicar através de linguagem natural, 
algo difícil de ser feito para usuários com pouco ou nenhum conhecimento 
de programação que recebem uma unidade binária como resposta do 
sistema, especificamente quando ligado ao problema anterior, onde não 
é possível ordenar essas respostas.
Inteligência Artificial
27
Assim, uma forma de tratamento para a recuperação de 
informações é o uso da estatística como ferramenta para o tratamento 
de probabilidades de resposta. Algo que permite a criação de respostas 
complexas e que podem ser ordenadas.
Desta forma, após a fase de processamento dos dados, será 
possível apresentar respostas baseadas em PNL mais fáceis de serem 
compreendidas por todos os usuários destes sistemas.
Extração de informação
O processo de extração de informação pode ser entendido como 
uma etapa de identificação e aquisição de conhecimento através da 
análise de dados classificados e recuperados (RUSSELL, 2013).
Por exemplo, um carteiro ao receber uma encomenda a ser 
entregue, irá recuperar as informações do destinatário através da consulta 
aos dados previamente classificados pelo sistema de correios. Assim, este 
mesmo carteiro, poderá extrair informações como o endereço e nome da 
pessoa que receberá a encomenda.
O processo de extração, também permite dar sentido a certas 
atividades, possibilitando a aprendizagem dos significados e valor da 
informação.
REFLITA:
Retomando o exemplo do carteiro, se for dado a sequência 
com os seguintes dados. “Alberto Fonseca”, “Centro”, “Sena 
Madureira”, “AC”, ”69940-000”. Perceba que cada campo 
é um tipo de informação que pode ser relevante para a 
identificação do local da entrega. Podendo até mesmo 
realizar sua estruturação com base nos campos, como 
por exemplo, usar o valor 69 para identificar uma região da 
cidade. Desta forma, reflita sobre seu endereço ou outros 
conjuntos de informações ligados a seu dia a dia e procure 
perceber se é possível identificar padrões que o permitam 
extrair informações das combinações possíveis.
Inteligência Artificial
28
Existem diversas formas de extração de dados, como a busca por 
valores chaves, busca probabilística, uso de máquinas de estado, entre 
outras. Todavia, retomaremos os conceitos e aplicações da extração de 
informações na sessão posterior, especificamente, para a compreensão 
sobre o uso das gramáticas aplicadas a agentes PLN.
RESUMINDO:
Chegamos ao fim de mais um capítulo, o qual, apresentou 
conceitos sobre os processos de tratamento de informações. 
Primeiramente vimos que a classificação das entradas é 
um importante passo para o processamento de linguagem 
natural, uma vez que a classificação permitirá que contexto 
e combinações de palavras venham a ser usados para 
dar significado e possibilitar respostas eficientes. Assim, 
exploramos conceitos sobre o uso de algoritmos não 
supervisionados e supervisionados para classificação 
destes dados, bem como, aprendemos como se dá os 
fundamentos das RNA, importante algoritmo supervisionado 
e que também é aplicado para a classificação de entradas. 
Posteriormente, tratamos de forma conceitual as ações de 
recuperação e extração de informação, permitindo que 
as sessões posteriores tratem de forma mai9s objetiva os 
processos de comunicação em agentes virtuais.
Inteligência Artificial
29
Gramáticas e os modelos de linguagem 
natural
OBJETIVO:
Neste capítulo, trataremos sobre os modelos de 
processamento de linguagem natural, especificamente, 
explorando as principais características do modelo 
N-grama. Ademais, será apresentado os conceitos do 
uso de gramáticas para formação de uma base para a 
comunicação em linguagem natural. Bons estudos!
Na sessão anterior aprendemos um pouco sobre os modelos 
N-grama, o qual, iremos aprofundar um pouco no início desta sessão.
Podemos definir que uma entrada escrita será composta de cadeias 
de caracteres, com cada caractere podendo representar uma palavra, 
número, pontos, entre outras representações possíveis, como algumas 
formas de representar simbolicamente as emoções, intituladas de emojis.
IMPORTANTE:
Além dos símbolos citados acima, os modelos N-grama 
também podem ser constituídos de letras, bits, palavras, 
entre outros. Cabendo ao desenvolvedor do modelo fazer 
essa definição previamente.
Desta forma, podemos entender que um modelo N-grama é uma 
definição que estipula como as cadeias de entrada textual serão tratadas 
no sistema.
Segundo Russell (2013), podemos entender os modelos N-grama 
como uma cadeia de Markov de ordem 1-N. Salientando que qualquer 
sequência de caracteres é composta pelo comprimento N, sendo N o 
próprio número de caracteres.
Também é importante a percepção que existem três tipos especiais 
de modelos N-grama, sendo eles o 1-grama (unigrama), 2-gramas 
Inteligência Artificial
30
(bigrama) e 3-gramas (trigrama). Estas são nomenclaturas especiais para 
entradas determinadas pelos valores um, dois e três caracteres.
Todavia, retomemos a cadeia de Markov.
DEFINIÇÃO:
Uma cadeia de Markov é caracterizada pelo fato de um 
estado no momento atual não ser dependente de qualquer 
estado em momentos anteriores, salvo apenas o estado 
anterior. Da mesma forma, apenas o próximo estado poderá 
ter dependência do estado atual (GRIGOLETTI, 2015).
Um exemplo comum que pode ser dado é o lançamento de uma 
sequência de dados perfeitos, ou seja, dados não viciados e com igual 
probabilidade de todos os lados caírem para cima.
Perceba que a soma de uma sequência de lançamentos não pode 
ser prevista, bem como, cada lançamento não interfere no próximo 
lançamento. 
Assim, se quisermos saber a relação se dada uma entrada de 3 
dados (trigrama) com um valor qualquer, é preciso fazer o lançamento e 
realizar a soma.
Exemplo: Se considerarmos uma entrada do modelo trigrama 
ligado ao lançamento de dados e quisermos identificar a relação deste 
valor com o número 6, podemos seguir algumas possibilidades, sendo 
elas expressas no Quadro 3.
Quadro 3 – Exemplo de uma cadeia de Markov
SOMA DOS 
LANÇAMENTOS RESPOSTA DO SISTEMA
3+2+2 = 7
Em relação ao valor 6: O somatório é 
superior ao valor avaliado.
1+3+2 = 6
Em relação ao valor 6: O somatório é igual ao 
valor avaliado.
1+1+3 = 5
Em relação ao valor 6: O somatório é 
superior ao valor avaliado.
Fonte: Autor (2020).
Inteligência Artificial
31
Perceba que a primeira entrada, o primeiro lançamento foi igual ao 
valor 3, seguido do segundo lançamento com valor igual a 2, mesmo valor 
obtido no terceiro lançamento. 
Note que ao final dos lançamentos, foi possível identificar que o 
valor do somatório dos valores obtidos, foi superior ao valor de referência, 
valor avaliado.
Note que o primeiro valor não sofreu interferência alguma dos 
demais lançamentos, fator que também não aconteceu nos lançamentos 
posteriores.
Todavia, se o primeiro valor fosse 5, já seria um fato que o somatório 
seria superior ao valor de referência, uma vez que se os segundo e terceiro 
valores fossem iguais a 1, ainda assim a soma seria superior a 6. Mesmo 
com esta afirmação, os valores obtidos nos lançamentos posteriores não 
tiveram dependência do anterior.
Cadeias de Markov geralmente são descritas em forma de grafos, 
com todas as possibilidades ligadas probabilisticamente, permitindo 
assim que ao seguir uma sequência de entradas, seja possível identificar 
uma saída adequada.
O modelo que descreve a cadeia de Markov para o exemplo anterior 
está presente no Quadro 4.
Inteligência Artificial
32
Quadro 4 – Exemplo de uma cadeia de Markov
Etapa dos 
lançamentos
Valorespossíveis Compreensão do sistema
1a [1-6] = (61)
A primeira entrada será constituída 
da probabilidade de um dos valores 
da cadeia serem verdade
2a 6 * 6 = (62)
Defi nido o valor real obtido na 
rolagem do dado na etapa anterior, 
a probabilidade da segunda etapa 
será igual a probabilidade anterior 
multiplicada pela probabilidade 
atual. 
3a 6 * 6 * 6 = (63)
Semelhante ao segundo 
lançamento, tomar-se-á as 
probabilidades anteriores 
multiplicadas pelas probabilidades 
atuais.
Fonte: Autor (2020).
No modelo apresentado no Quadro 4, todos os elementos de 
entrada são independentes uns dos outros. Porém, existem casos onde 
existem dependência dos estados sequência, como por exemplo uma 
cadeia de caracteres que representam uma palavra ou frase. 
Exemplo: Se tomarmos por base a seguinte palavra:
“Contar”
Perceba que esta cadeia de caracteres para serem identificados, após 
identificar a letra “C”, seria preciso que a próxima verificação identificasse 
a letra “O”, e assim sucessivamente. Assim, existe uma dependência 
exclusiva entre os termos próximos na ordem de 1 verificação. 
Avalie a Figura 4. Ela representa uma árvore de dependência gerada 
após a verificação de todos os caracteres. Perceba que na estrutura da 
árvore, o último caractere é dependente do primeiro, todavia é importante 
entender que durante o processo de descoberta do N-grama, de fato 
existe uma independência entre os caracteres e que a saída é apenas um 
valor probabilístico antes de ser concretizada.
Inteligência Artificial
33
Figura 4 – Exemplo de árvore de dependência gerada 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
C 
O 
N 
 
T 
 
A 
 
R 
 
Fonte: Autor (2020).
Note que no exemplo acima, Figura 4, cada nó identifica se o próximo 
nó é ou não pertencente a cadeia específica, todavia, este modelo apesar de 
simples, tem desvantagens quanto a representação de grandes quantidades 
de dados, sendo indicado para aplicações com possibilidades reduzidas.
Introdução às gramáticas
Como já citado nesta unidade, as línguas naturais como português e 
inglês, possuem um conjunto de regras definidos através de documentos 
chamados gramáticas.
Segundo o dicionário Houaiss da Língua Portuguesa (2009), as 
definições para uma gramática podem ser:
 • “...É um conjunto de prescrições e regras que determinam o uso 
considerado correto da língua escrita e falada...”.
 • “...Tratado descritivo normativo da morfologia e da sintaxe de uma 
língua...”.
Ou seja, uma gramática é uma base de dados para consulta 
daqueles que procuram corretamente se comunicar segundo alguma 
Inteligência Artificial
34
língua específica. Assim, esta base de informações deve ser dada aos 
agentes virtuais para que estes possam corretamente se comunicar com 
os usuários através de linguagem natural.
IMPORTANTE:
Para fins de exemplificação, a gramática da língua 
portuguesa será usada como principal referência.
Lembremos que uma gramática pode ser entendida em relação a 
IA, como um modelo de comunicação, uma vez que suas regras auxiliarão 
os agentes virtuais poderem compreender os textos ou fala dos usuários 
humanos, bem como, realizar comunicação através de mecanismos 
específicos, inclusive fala e escrita. Além do uso de uma gramática, 
o agente baseado em PLN também precisa conhecer uma base de 
caracteres e sua correta classificação.
Retomando os conceitos de aprendizado vistos na unidade anterior, 
podemos perceber que estas bases de caracteres, normalmente palavras, 
números e símbolos como pontos e vírgulas, podem ser previamente 
inseridos ou aprendidos durante as interações do sistema.
Geralmente, as gramáticas são constituídas de duas partes 
principais, a semântica e a sintaxe.
DEFINIÇÃO:
Semântica é o estudo do significado na linguagem. 
Permitindo conclusões concretas sobre o significado 
durante a comunicação (HURFORD; HEASLEY, 1997).
Por exemplo. Analise a frase e o código a seguir presentes no 
Quadro 5
Inteligência Artificial
35
Quadro 5 –Erros semânticos
Língua Entradas
Português Joãozinho caiu para cima
Java Script var numero = numero; 
Fonte: Autor (2020).
Perceba que a frase em português tem um sentido confuso, uma 
vez que, em geral, cair sempre é para baixo. 
Por sua vez, a linguagem Java Script define em suas regras, que 
quando uma variável é criada, ela não pode receber a si, uma vez que 
seus dados ainda não foram de fato iniciados.
Ambos exemplos, são erros ligados a erro no significado da 
mensagem, ou seja, erros semânticos.
Desta forma, os agentes baseados em Processamento de 
Linguagem Natural, devem manter bases de modelos semânticos para 
os caracteres que conhece, algo que permitirá melhorar o entendimento 
computacional descritos nas entradas textuais e também auxiliando na 
estruturação de respostas bem claras e objetivas com base nas regras da 
língua utilizada.
Por sua vez, o outro campo gramatical importante para o estudo e 
aplicação em agentes PLN, é a sintaxe.
DEFINIÇÃO:
A sintaxe é o campo de estudo gramatical que estuda a 
correta estruturação das frases e em computação, de 
forma similar, é um campo de análise que visa identificar 
se os códigos atendem as especificações de escrita da 
linguagem (DONDIS; CAMARGO, 1997). 
Retomemos como referência o exemplo do Quadro 6, porém, com 
algumas alterações.
Inteligência Artificial
36
Quadro 6– Erros sintáticos
Língua Entradas
Português Joãozinho subiu depois caiu
Java Script var texto = Hello world!; 
Fonte: Autor (2020).
Note que a entrada da língua portuguesa possui um sentido correto, 
porém, este sentido está prejudicado pela falta de um conectivo que 
une as orações Joãozinho subiu, bem como, depois caiu. Uma provável 
estruturação correta seria:
“Joãozinho subiu e depois caiu”
De forma semelhante, a entrada na linguagem computacional Java 
Script, está errada pois um texto deve estar obrigatoriamente entre aspas 
simples ou duplas, sendo a forma correta apresentada a seguir:
var texto = “Hello world!”
Este tipo de erro não prejudica o sentido das entradas, ou seja, é 
possível saber que Joãozinho subiu em algo e em seguida caiu, mesmo 
sem um conectivo. Da mesma forma, é possível entender que o texto 
Hello world é do tipo string.
Este tipo de análise é chamada de análise sintática e, como citado, 
está vinculada a correta estruturação dos textos.
SAIBA MAIS:
Para aprofundar um pouco mais no entendimento sobre 
as gramáticas para processamento de linguagem natural, 
clique aqui.
Desta forma, o uso de uma base gramatical permitirá que agentes 
inteligentes possam identificar sentido e contextos nas cadeias n-grama e 
assim, processar respostas eficientes para cada situação.
Inteligência Artificial
https://www.ime.usp.br/~slago/IA-pln.pdf
37
Esta identificação é aplicada como uma camada de tratamento 
adicional sobre modelos como as cadeias de Markov. Assim, a cada 
verificação e/ou quando uma palavra for identificada, as camadas de 
tratamento de estruturação e sentido são aplicadas para ajustar ou extrair 
informações do texto.
RESUMINDO:
Chegamos ao fim de mais um capítulo, o qual, exploramos 
conceitos ligados aos modelos de linguagem natural. 
Assim, primeiramente aprofundamos as análises dos 
conceitos sobre os modelos k-grama, especificamente 
ao demonstrar como se estruturam este tipo de entrada 
e sua relação com as cadeias de Markov. Em seguida 
apresentamos os conceitos fundamentais as gramáticas 
e sua relação com o sentido e correta estruturação na 
comunicação.
Inteligência Artificial
38
O processo de percepção da IA
OBJETIVO:
Chegamos a nosso último capítulo que tratará sobre 
Inteligência Artificial. Até o momento citados de forma 
simples e pouco objetiva os sensores, apenas citando que 
eles são responsáveis por identificar estímulos no ambiente 
de forma passiva, ou seja, esperando que aconteça 
um estímulo para ativá-lo. Também citamos entradas, 
exclusivamente em formato de textos. Todavia, sensoressão responsáveis por funções adicionais, como varrer o 
ambiente em pró de objetivos e muitas outras funções. 
Assim, esta sessão abordará processos de percepção e 
identificação em agentes Inteligentes. Bons estudos!
Uma das habilidades presentes em alguns agentes inteligentes, é 
capacidade de perceber. 
Perceber é um conceito complexo, uma vez que define o uso de 
diferentes tipos de sensores, bem como, de inúmeras abordagens de 
identificação de dados.
DEFINIÇÃO:
Segundo Bueno (2013), percepção é o ato, efeito ou 
faculdade de perceber, compreensão. 
Segundo Russell (2013), agentes capazes de perceber o ambiente 
através de sensores, o fazem monitorando o ambiente a procura de algum 
aspecto que o permita utilizá-lo para fins específicos.
Sensores podem ser implementados de diversas formas em um 
agente inteligente, o qual, passaremos a estudar de forma mais profunda 
na seção a seguir.
Inteligência Artificial
39
Sensores
Sensores são ferramentas importantes para a coleta de dados, 
sejam originários do ambiente, de outros agentes ou até mesmo do 
próprio agente.
Qualquer sistema de percepção pode ser caracterizado como um 
sensor. Por exemplo: se considerarmos um agente reativo ligado a um 
algoritmo que espera que um usuário faça login para executar ações 
específicas, com a verificação sendo uma condicional simples (se) que 
ativará a dita ação. Esta função será entendida como o sensor deste 
sistema.
Por sua vez, como já vimos nas unidades anteriores, sensores 
climáticos utilizam ferramentas físicas como termômetros para identificar 
alterações no ambiente, o qual, disparam sinais para que algoritmos 
realizem a mesma função do exemplo anterior.
Outros sistemas, como os geradores de rotas, utilizam dados advindo 
do sistema GPS (do inglês “Global Positioning System”, ou “Sistema de 
Posicionamento Global”) para realizar comparações entre a posição atual, 
ou informada, com a posição final, avaliando as rotas inseridas no sistema 
e identificando o melhor percurso, podendo ao não levar em consideração 
outras variáveis como velocidade de fluxo ou quilometragem mais curta.
Note que o sistema GPS, em geral, não é de propriedade dos 
desenvolvedores de sistemas de rotas. Assim, esta função de captura de 
informações também é entendida como um sistema de percepção, uma 
vez que os agentes estarão avaliando constantemente alterações na 
posição advinda de um sistema externo, para atualizar a rota em tempo real.
Segundo Russell (2013), sistemas que implementam sensores 
geralmente são aplicados em ambientes não observáveis ou parcialmente 
observáveis, assim, a incerteza gera a necessidade de os sensores 
aplicarem modelos específicos, denominados de modelo de sensores.
Um modelo de sensores é uma estrutura, o qual, utiliza 
probabilidade, o qual, descreve a probabilidade temporal ligada as 
chances de uma determinam percepção ser identificada. Desta forma, o 
Inteligência Artificial
40
tempo e a incerteza passam a ser dados relevantes para a criação de 
sensores.
Vamos exemplificar um evento onde sensores segundo os conceitos 
temporais e probabilísticos se aplicam.
Exemplo: Consideremos uma empresa que possui máquinas 
que realizam etapas de um processo industrial qualquer. Cada máquina 
possui um sensor que identifica quando é preciso realizar manutenções 
de lubrificação e/ou troca de peças. Assim, sempre que uma nova peça 
é instalada, um prazo médio de verificação é registrado na máquina, bem 
como, quando a força necessária para a movimentação das engrenagens 
é superior a um valor determinado, o sistema também gera alertas de 
necessidade de lubrificação manual.
Perceba que as duas funções ligadas à manutenção, reposição 
de peças e lubrificação, são funções temporais, ou seja, dependem 
diretamente que passe um determinado tempo. 
Todavia, a função de lubrificação não é determinística, ou seja, existe 
uma probabilidade com base em dados fornecidos ou em aprendizado, 
que revelam um tempo médio que esta manutenção é requerida.
Ou seja. Existe uma probabilidade esperada ligada a necessidade 
de lubrificação das peças.
O exemplo acima nos permite constatar que o conjunto de variáveis 
é uma importante etapa no processo de implementação de sensores 
eficientes, bem como, cada problema terá seu conjunto de variáveis 
próprios.
Uma vez que os conjuntos de variáveis de um sistema for definida, é 
preciso identificar como se os processos de varrição temporal do mundo, 
ou seja, como o mundo evolui e como serão os valores que cada variável 
poderá receber.
Como citado por Russell (2013), esta etapa de identificação do 
mundo e suas variações, bem como, os tipos de valores que cada variável 
irá apresentar, é chamado respectivamente de modelo do mundo e 
modelo dos sensores.
Inteligência Artificial
41
Da mesma maneira que as cadeias de Markov nos permitem o 
tratamento das entradas incertas baseadas no modelo K-grama, estas 
mesmas cadeias também fornecem um bom modelo descritivo para 
previsão dos estados ligados aos modelos do mundo e dos sensores.
IMPORTANTE:
É importante citar que os problemas tratados pela cadeia 
de Markov para os modelos acima, geram hipóteses 
aproximadas, bem como, podem gerar problemas 
ligados a quantidades exorbitantes de estados possíveis 
no ambiente e nas variáveis dos sensores. Assim, tratar o 
ambiente como possuindo limitadas possibilidades de 
mudanças é uma forma de tornar os valores de tratamento 
nos modelos sempre finitos.
Outros problemas podem estar vinculados a baixa confiabilidade 
nos dados fornecidos por um único sensor, seja por problemas mecânicos 
ou de representatividade dos modelos. Desta forma, pode-se reduzir 
esses inconvenientes ao serem adicionados mais sensores, sejam físicos 
ou virtuais. 
Russell (2013) também identifica um conjunto de tarefas que devem 
ser executadas por um sensor, sendo estas expressas no Quadro 7.
Inteligência Artificial
42
Quadro 7 – Erros sintáticos
Tarefa Descrição
Filtragem
Etapa ligada a percepção do estado crença através 
de cálculos probabilísticos usados para representar 
conjuntos de hipóteses.
Previsão
A previsão é a capacidade de realizar cálculos 
probabilísticos que permitam a percepção de 
ocorrência de estados futuros.
Suavização
Suavização é a capacidade de realizar previsões 
com base em dados passados.
Explicação 
mais provável
É a possibilidade que os sistemas possuem em 
identifi car padrões e gerar conclusões específi cas 
com base em evidências.
Aprendizagem
Possibilidade de aprender com eventos passados 
baseando-se nos algoritmos supervisionados e não 
supervisionados.
Fonte: Adaptado de Russell (2013).
Percepção de objetos complexos
Uma vez definido o que são sensores e suas principais 
características, é possível agora explorar alguns tipos de dados que 
podem ser identificados através dos processos de captação, classificação, 
recuperação e extração de informação.
Além dos textos, ou seja, conjunto de caracteres escritos, os 
sons e as imagens são objetos importantes no campo de estudos do 
processamento e classificação de dados.
SAIBA MAIS:
Todavia, trataremos nesta unidade apenas sobre imagens, 
para saber como se dá o tratamento de sons, clique aqui. 
O tratamento de imagens é um processo complexo, visto que, 
imagens em duas dimensões ou em três dimensões, apresentam 
características específicas ligadas a visualização, bem como, ao 
Inteligência Artificial
http://www.pee.ufrj.br/https://scorm.onilearning.com.br/scorm.php?scorm=5402bae82b1504336d19f90bd669f248&estudante=0&nome=&licao=&sessao=g1tvi7hudgvbdkd2edp4568b2o/pt/producao-academica/dissertacoes-de-mestrado/2010-1/2010102901-2010102901/file
43
tratamento das entradas, uma vez que a quantidade de orientação (cima, 
baixo, esquerda, direita, traz, frente), bem como, a quantidade de pontos 
na imagem e os processos de compressão, devem ser levados em 
consideração.
Outros pontos importantes ligadosao tratamento de imagens e 
reconhecimento dos padrões, estão ligados a forma como os objetos se 
dispõem na imagem. 
Como por exemplo duas linhas retas paralelas indo em direção a 
uma maior profundidade na imagem. Quanto mais profunda as retas se 
dispõem na imagem, mais próximas elas aparentarão estar na imagem. 
Vide Figura 5 onde duas retas paralelas, unidas por retas transversais 
contínuas, aparentam ficar mais próximas ao se distanciar a partir de um 
ponto fixo, algo gerado pela perspectiva da distância entre o início e o fim 
dos pontos de observação.
Figura 5 – Retas paralelas em ambiente com profundidade
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Fonte: Autor (2020).
O mesmo efeito apresentado na Figura 5, também pode ser visto 
em estradas retas ao se contemplar o horizonte. Quanto mais distante se 
olhar, mais próxima às bordas da pista pareceram uma das outra.
Inteligência Artificial
44
Outros efeitos que podem gerar dificuldade de interpretação é quanto a 
profundidade de um objeto, ou seja, saber se este está à frente ou atrás de outro 
em um mesmo plano, pois, como visto na Figura 5, se compararmos os pontos 
onde o observador está sobre as retas e o ponto mais distante observável, 
perceberemos que a dimensão da distância aparentemente reduziu-se.
Desta forma, o tratamento de imagens requer que algum modelo 
de identificação de padrões (hipóteses) possa classificar as imagens.
Estes modelos podem ser do tipo supervisionados ou não 
supervisionados. Apesar da escolha estar fortemente ligada aos objetivos 
que fundamentam a analise das imagens, caba ao desenvolvedor da 
aplicação escolher a melhor estratégia.
Todavia, é indicada a construção de soluções por clusters quando 
se deseja identificar quantas classificações podem ser identificadas e em 
relação aos padrões destas identificações. Bem como, quando se tem 
uma ideia geral ou impossível de ser aplicada quanto as classes existentes.
Por sua vez, algoritmos supervisionados são indicados para 
problemas que já possuem hipóteses ou classes definidas, ou que a 
criação e classes seja algo pouco custoso e de fácil aplicação.
Outros problemas também devem ser levados em consideração 
quanto a análise das imagens, como texturas sombreadas, cores incorretas 
ou falta de cores em certos pontos, resolução da imagem ou objeto, entre 
outros pontos.
A própria direção que a luz ilumina o objeto pode gerar variações 
nas classificações.
Assim, perceba que a maior parte das características que devem 
ser observadas durante o tratamento de uma imagem ou objeto 
tridimensional, podem ser tratadas em etapas de pré-processamento, 
removendo ruídos extremos como luz forte em certo ponto ou falta de 
dados em certas partes dos dados.
Também perceba que imagens 2D e 3D são formadas por pontos 
que interligam conjuntos de vértices, podendo este ponto possuir uma 
cor ou característica associada.
Inteligência Artificial
45
Em geral, a combinação de dois vértices de uma imagem é formada 
por padrões de cores RGB (combinação de variações de intensidade entre 
vermelho, verde e azul) ou CMYK (Ciano, Magenta, Amarelo (Yellow) e 
Preto (Key (chave)).
REFLITA:
Como visto na unidade anterior, no modelo RGB, cada 
cor pode variar entre 256 valores diferentes, o que gera 
uma quantidade de 2563 possibilidades mais de quatro 
bilhões de combinações diferentes para cada pixel (ponto). 
Reflita sobre uma imagem formada por uma resolução 
aproximada de 256 X 256 pixels, agregando ainda fatores 
como iluminação, posição do objeto, falhas de coloração, 
problemas na compressão ou descompressão das 
imagens, entre outros. Agora, lembre que apenas um pixel 
é formado por mais de quatro bilhões de hipóteses, quantas 
hipóteses de classificação uma imagem com resolução 
citada poderia formar. Depois, avalie o mesmo exemplo 
para uma imagem com resolução HD ou até mesmo um 
filme. Por fim, pense como é importante usar modelos 
como Markov, Bayes e o K-nn para criar as combinações 
destas hipóteses de forma discreta. Assim, percebemos 
como estes algoritmos são incríveis e como a IA ainda 
está muito longe de simular com perfeição as habilidades 
biológicas dos cérebros humano. Porém, estamos neste 
rumo, e você ao explorar este material, também fará parte 
destas incríveis descobertas ligadas a tornar uma máquina 
computacional, um ser pensante.
Desta forma, um sistema pode captar uma imagem ou usar imagem 
advinda de outro dispositivo. Realizar tarefas de pré-processamento para 
adequação dos dados, realizar a etapa de processamento e classificação 
da imagem e por fim, realizar um pós-processamento onde sensores 
procurarão recuperar e extrair as informações descobertas através dos 
modelos de classificação.
Inteligência Artificial
46
RESUMINDO:
Chegamos ao final do último capítulo da unidade e 
também do material de Inteligência Artificial. Neste material 
pudemos ver que toda a trajetória feita até aqui, nos 
permitiu perceber como se dá os processos complexos de 
tratamento de informações. Assim, primeiramente vimos de 
forma um pouco mais detalhada o que são e como agem 
os sensores virtuais, fator que pavimentou a apresentação 
dos processos de percepção complexos, processos estes 
ligados a identificação de sons, imagens e outros tipos 
de dados não textuais. Desta forma, completamos nosso 
estudo sobre como dotar uma máquina com capacidades 
que simulam funções biológicas cerebrais, como, perceber, 
refletir, tomar decisões e aprender.
Inteligência Artificial
47
REFERÊNCIAS
BUENO, Silveira. Minidicionário da língua Portuguesa. 3 ed. São 
Paulo: FTD, 2016.
DICIONÁRIO: Houaiss da Língua Portuguesa. Rio de Janeiro: 
Objetiva, 2009.
DONDIS, Donis A. CAMARGO, Jefferson Luiz. Sintaxe da linguagem 
visual. São Paulo: Martins fontes, 1997.
FAVERI, D. B. RESENDE, M. Cardoso. Neuroeconomia: perspectiva 
histórica, principais contribuições e interpretações para a teoria econômica. 
SINERGIA-Revista do Instituto de Ciências Econômicas, Administrativas e 
Contábeis, v. 24, n. 1, p. 39-49, 2020.
GRIGOLETTI, Pablo Souza. Cadeias de Markov. Escola de Informática, 
Universidade Católica de Pelotas, pp. 1-8. 2015.
GOOGLE. Google Assistente. Disponível em:< https://support.google.
com/assistant/answer/7394306?co=GENIE.Platform%3DAndroid&hl=pt-
BR>. Acesso em: 22 de jun. 2020.
GONZALEZ, Marco. LIMA, Vera Lúcia Strube. Recuperação de 
informação e processamento da linguagem natural. XXIII Congresso da 
Sociedade Brasileira de Computação. p. 347-395, 2003.
HURFORD, James R. HEASLEY, Brendan. Curso de semántica. 
Editora da ULBRA, 1997.
LAPORTE, Luiz. Algoritmos de Separação Cega de Sinais de 
Áudio no Domínio da Frequência em Ambientes Reverberantes: Estudo 
e Comparações. COPPE, 2010. Disponível em:< http://www.pee.ufrj.
br/index.php/pt/producao-academica/dissertacoes-de-mestra
do/2010-1/2010102901-2010102901/file>. Acesso em: 22 de jun. 2020.
LIVIERIS, Ioannis E. ILIADIS, Lazaros. PINTELAS, Panagiotis. On 
ensemble techniques of weight-constrained neural networks. Evolving 
Systems, p. 1-13, 2020.
Inteligência Artificial
48
NETO, J. M. O. TONIN, Sávio Duarte. PRIETCH, S. Processamento da 
Linguagem Natural e suas aplicações computacionais. Escola Regional de 
Informática (ERIN), 2010.
PEREIRA, Silvio. Processamento de Linguagem Natural. IME-USP. 
Disponível em:<https://www.ime.usp.br/~slago/IA-pln.pdf>. Acesso em: 
22 de jun. 2020.
RUSSELL, S. Inteligência artificial. 3. ed. Rio de Janeiro: Editora 
Elsevier, 2013.
SILVA, R. R. LIMA, S. M. Barroso. Consultas em Bancos de Dados 
Utilizando Linguagem Natural. Revista Eletrônica da FMG, 2013. Disponível 
em: <http://re.granbery.edu.br/artigos/MjQ0.pdf> Acesso em: 20 de 
junho. 2020.
TURING, A. M. Computing machinery and intelligence. Mind, Volume 
LIX, Issue 236, Pages 433–460. 1950.
WEIZENBAUM, Joseph. ELIZA: A computer program for the 
study of natural language communication between man and machine. 
Communicationsof the ACM, v. 9, n. 1, p. 36-45, 1966.
WIJAYA, Hamid. Implementasi Kriptografi AES-128 Untuk 
Mengamankan URL (Uniform Resource Locator) dari SQL Injection. 
Akademika Jurnal, v. 17, n. 1, p. 8-13, 2020.
Inteligência Artificial

Continue navegando