O setor de Inteligência Artificial (IA) apresenta um futuro promissor, impulsionado pelos avanços recentes nesta área.
Praticamente todos os setores estão a incorporar a IA para otimizar as suas operações, incluindo tecnologia da informação, manufatura, indústria automóvel, defesa, finanças e até mesmo na criação de conteúdo.
Assim, se o seu objetivo é construir uma carreira em IA, o momento atual é ideal para iniciar. Dado que a experiência prática é essencial para o desenvolvimento de qualquer habilidade, pode consolidar o seu conhecimento em IA e competências associadas, como programação e o uso de ferramentas e tecnologias, através da realização de projetos diversificados.
Estes projetos permitem-lhe perceber o impacto da IA nas pessoas e nas empresas em tempo real, além de o equiparem com as competências necessárias para o progresso na sua carreira em IA. Para isso, é altamente recomendável que possua conhecimentos em:
- Linguagens de programação como Python, R, Java, MATLAB e Perl.
- Algoritmos de aprendizagem automática, como regressão linear, regressão logística, Naive Bayes, K-means, KNN, SVM e árvores de decisão.
- Princípios básicos de análise de dados e ferramentas como o Apache Spark.
- Redes Neurais Artificiais (ANN), que replicam as funções cerebrais humanas para resolver problemas, como reconhecimento de caligrafia, reconhecimento facial e identificação de padrões.
- Conhecimentos básicos em Redes Neurais Convolucionais (CNN).
- Ferramentas baseadas em Unix, como Sort, AWK e expressões regulares.
A seguir, exploraremos alguns projetos de IA que podem ser bastante interessantes.
Projetos Básicos de IA
Reconhecimento de Dígitos Manuscritos
Objetivo: Desenvolver um sistema capaz de identificar dígitos manuscritos através de redes neurais artificiais.
Desafio: Dígitos e caracteres escritos à mão exibem uma variedade de formas, tamanhos, curvas e estilos, que diferem de pessoa para pessoa. Assim, a conversão de texto manuscrito em formato digital representava um desafio para os computadores no passado. Estes também tinham dificuldade em interpretar texto em documentos em papel.
Apesar do processo de digitalização estar em rápido crescimento em diversos setores, ainda existem áreas que dependem de documentos físicos. É por isso que é necessária tecnologia para facilitar este processo, de modo que os computadores possam interpretar texto manuscrito em papel.
Solução: A utilização de redes neurais artificiais possibilita o desenvolvimento de um sistema de reconhecimento de dígitos manuscritos, capaz de interpretar com precisão os dígitos traçados por uma pessoa. Para este fim, utiliza-se uma rede neural convolucional (CNN) para identificar dígitos em papel. Esta rede é treinada com um conjunto de dados HASYv2, que contém 168.000 imagens abrangendo 369 classes distintas.
Aplicação: Além de documentos em papel, um sistema de reconhecimento de dígitos manuscritos pode interpretar símbolos matemáticos e estilos de caligrafia em imagens, telas sensíveis ao toque e outras fontes. Este software tem diversas aplicações, tais como a autenticação de cheques bancários, leitura de formulários preenchidos e anotações rápidas.
Detecção de Faixas de Rodagem
Objetivo: Criar um sistema compatível com veículos autónomos e robôs de seguimento de linhas, que os ajude a detetar faixas de rodagem em tempo real.
Desafio: Os veículos autónomos representam uma inovação tecnológica que utiliza técnicas e algoritmos de aprendizagem profunda. Estes revolucionaram o setor automóvel e reduziram a necessidade de um condutor humano.
Contudo, se o sistema que conduz um carro autónomo não for devidamente treinado, pode originar riscos e acidentes na estrada. Durante o treino do sistema, é fundamental que este aprenda a detetar as faixas da estrada, de modo a evitar invasões de outras faixas ou colisões com outros veículos.
Solução: Para resolver este problema, desenvolva um sistema utilizando os conceitos de visão computacional em Python. Isto ajudará os veículos autónomos a detetar corretamente as faixas de rodagem, garantindo que permanecem dentro da sua faixa designada sem colocar outros em risco.
Pode usar a biblioteca OpenCV – uma biblioteca otimizada para uso em tempo real como esta – para detetar as faixas. Esta biblioteca oferece interfaces para Java, Python e C++, com suporte para as plataformas Windows, macOS, Linux, Android e iOS.
Além disso, é essencial identificar as marcações em ambos os lados da faixa de rodagem. Utilize técnicas de visão computacional em Python para detetar as faixas onde os carros autónomos se devem deslocar. Deverá também encontrar a marcação branca na faixa e ocultar o restante dos objetos através de máscaras de quadros e matrizes NumPy. Em seguida, aplica-se a transformação de Hough para detetar as linhas da faixa. Adicionalmente, pode empregar outros métodos de visão computacional, tais como limites de cores, para identificar as linhas da faixa.
Aplicação: A deteção de faixas de rodagem é utilizada em tempo real por veículos autónomos, como carros e robôs de seguimento de linhas. Também é útil na indústria de jogos para jogos de corrida.
Detecção de Pneumonia
Objetivo: Criar um sistema de IA que utilize redes neurais convolucionais (CNNs) e Python para detetar pneumonia a partir de imagens de raios-X de um paciente.
Desafio: A pneumonia continua a ser uma ameaça, com impacto significativo nas taxas de mortalidade em muitos países. A dificuldade reside no facto de que as imagens de raios-X são utilizadas para detetar várias doenças, incluindo pneumonia, cancro e tumores, o que pode resultar em baixa visibilidade e avaliações ineficientes. No entanto, o tratamento adequado pode reduzir significativamente a mortalidade.
Além disso, a posição, a forma e o tamanho da pneumonia podem variar substancialmente, o que leva a contornos pouco definidos. Estas questões dificultam a deteção precisa da doença. Daí a necessidade de desenvolver tecnologia que consiga identificar a pneumonia precocemente e com alta precisão, para permitir o tratamento adequado e salvar vidas.
Solução: A solução de software é treinada com dados extensivos sobre pneumonia e outras doenças. Quando os utilizadores partilham os seus problemas de saúde e sintomas, o software processa as informações e analisa-as com base na sua base de dados, identificando as possíveis doenças associadas. O software usa data mining para fornecer a doença correspondente mais precisa aos detalhes do paciente.
Desta forma, a doença de um paciente pode ser detetada e o tratamento apropriado pode ser administrado. Para desenvolver este software, determine o modelo CNN mais eficiente, através de uma análise comparativa, para detetar pneumonia em imagens de raios-X, usando a extração de recursos. Avalie diferentes modelos com os seus classificadores correspondentes, para determinar o classificador mais adequado e o modelo CNN com melhor desempenho.
Aplicação: Este projeto de IA é valioso no setor da saúde para detetar doenças como pneumonia, doenças cardíacas, etc. e para fornecer orientação médica aos pacientes.
Chatbots
Objetivo: Desenvolver um chatbot utilizando Python, para integrar num website ou aplicação.
Desafio: Os utilizadores esperam um serviço de alta qualidade quando utilizam uma aplicação ou website. Se tiverem uma dúvida que não consigam responder, podem perder o interesse na aplicação. Assim, ao criar uma aplicação ou website, é essencial oferecer o melhor serviço para reter os seus utilizadores e influenciar os seus resultados.
Solução: Um chatbot é uma aplicação que permite a conversação automatizada entre um bot (IA) e um utilizador através de texto ou voz, como no caso da Alexa. Os chatbots estão disponíveis 24 horas por dia, 7 dias por semana, para auxiliar os utilizadores com as suas dúvidas, navegar nas aplicações, personalizar a experiência do utilizador, aumentar as vendas e fornecer informações detalhadas sobre o comportamento e necessidades dos clientes, ajudando a melhorar produtos e serviços.
Para este projeto de IA, pode utilizar uma versão simples de um chatbot que pode ser encontrada em muitos websites. Analise a sua estrutura básica para começar a construir um semelhante. Depois de criar um chatbot simples, pode avançar para projetos mais avançados.
Para construir um chatbot, conceitos de IA como o Processamento de Linguagem Natural (PNL) são usados para permitir que algoritmos e computadores compreendam as interações humanas em várias línguas e processem esses dados. O PNL decompõe sinais de áudio e texto humanos, analisa-os e converte-os numa linguagem compreensível por máquinas. É também essencial dispor de diversas ferramentas, pacotes e ferramentas de reconhecimento de voz pré-treinadas para construir um chatbot inteligente e responsivo.
Aplicação: Os chatbots são muito utilizados em diversas áreas corporativas, como atendimento ao cliente, helpdesk de TI, vendas, marketing e RH. Empresas de e-commerce, edtech e imobiliárias, bem como finanças e turismo, usam chatbots. Marcas notáveis como a Amazon (Alexa), Spotify, Marriott International, Pizza Hut, Mastercard e muitas outras utilizam chatbots.
Sistema de Recomendação
Objetivo: Desenvolver um sistema de recomendação para clientes de produtos, vídeos, streaming de música e outros, utilizando ANN, data mining, machine learning e programação.
Desafio: A concorrência é intensa em todos os setores, tanto no comércio eletrónico como no entretenimento. Para se destacar, é essencial ir além. Se oferece algo que os seus clientes-alvo procuram, mas não tem mecanismos para os direcionar para a sua loja ou recomendar os seus produtos, está a perder oportunidades de negócio.
Solução: Um sistema de recomendação pode atrair mais visitantes para o seu website ou aplicação. Pode ter reparado que plataformas de comércio eletrónico como a Amazon oferecem recomendações de produtos que pesquisou na internet. Da mesma forma, no Facebook ou Instagram, são apresentados produtos semelhantes. É assim que funciona um sistema de recomendação.
Para desenvolver este sistema, precisa de histórico de navegação, comportamento do cliente e dados implícitos. Competências em data mining e machine learning são necessárias para produzir recomendações de produtos adequadas aos interesses dos clientes. Necessitará também de programar em R, Java ou Python, utilizando redes neurais artificiais.
Aplicação: Os sistemas de recomendação são amplamente utilizados em lojas de comércio eletrónico como a Amazon e o eBay, em serviços de streaming de vídeo como o Netflix e o YouTube, em serviços de streaming de música como o Spotify, e em muitos outros. Estes sistemas contribuem para o aumento do alcance dos produtos, número de leads e clientes, visibilidade em vários canais e rentabilidade.
Projetos de IA de Nível Intermédio
Deteção de Incêndio
Objetivo: Desenvolver um sistema de deteção de incêndio que utilize CNN para tarefas relacionadas com visão computacional e classificação de imagens.
Desafio: Incêndios em edifícios residenciais e comerciais são perigosos. Se um incêndio não for detetado a tempo, pode causar perda de vidas e bens. Os incêndios florestais estão a tornar-se mais frequentes; assim, o monitoramento regular é essencial para preservar a vida selvagem e os recursos naturais.
Solução: Construir um sistema que consiga detetar incêndios em ambientes interiores e exteriores numa fase inicial e com a sua localização exata, pode ajudar a extinguir o incêndio antes que cause danos. O sistema de deteção de incêndio é otimizado através de câmaras de vigilância.
Para este fim, são utilizadas técnicas de IA, como CNN e visão computacional, e ferramentas como o OpenCV. O sistema requer processamento de imagem avançado e computação em nuvem. O sistema é concebido para analisar as imagens captadas por câmaras de vídeo, tanto de luz visível como infravermelha. Deverá também identificar o fumo, diferenciá-lo da neblina e alertar as pessoas rapidamente.
Aplicação: A deteção de incêndio através de inteligência artificial pode ser utilizada para detetar incêndios florestais, protegendo assim os recursos naturais, flora e fauna, e em casas e edifícios corporativos.
Assistente Virtual Baseado em Voz
Objetivo: Desenvolver uma aplicação com funcionalidades de voz para auxiliar os utilizadores.
Desafio: A web oferece uma variedade de produtos e serviços, pelo que os utilizadores podem sentir-se sobrecarregados. Além disso, as pessoas estão ocupadas e precisam de ajuda em diversos campos, mesmo para as tarefas diárias.
Solução: Atualmente, existe procura por assistentes virtuais baseados em voz para simplificar a vida dos utilizadores. As pessoas podem usar estas aplicações, como Alexa e Siri, para fins de entretenimento, para pesquisar produtos e serviços online e para realizar tarefas diárias, aumentando assim a produtividade.
Para construir este sistema, é utilizado PNL para interpretar a linguagem humana. O sistema irá ouvir a voz, converterá em linguagem de máquina e armazenará os comandos na sua base de dados. O sistema identifica a intenção do utilizador para executar a tarefa e utiliza ferramentas de conversão de texto em fala ou de fala em texto.
Aplicação: Os assistentes virtuais baseados em voz são utilizados para encontrar itens relevantes na internet, reproduzir música, filmes e vídeos, criar lembretes, escrever notas rápidas, ativar e desativar eletrodomésticos, entre outras funções.
Verificador de Plágio
Objetivo: Desenvolver um sistema que detete plágio ou duplicação num documento utilizando IA.
Desafio: A duplicação de conteúdo é um problema que deve ser monitorizado e erradicado. Para as empresas, esta situação acarreta danos à reputação e baixas classificações nos motores de pesquisa. E, de facto, as pessoas também podem ser penalizadas pelo plágio devido a direitos de autor. Portanto, existe a necessidade de identificar conteúdo plagiado para empresas e instituições de ensino.
Solução: Conceitos de IA são usados para desenvolver uma ferramenta de verificação de plágio, que deteta duplicação num documento. Neste projeto, pode utilizar-se o Python Flask ou mineração de texto para detetar plágio, usando uma base de dados vetorial denominada Pinecone. Pode também apresentar a percentagem de plágio.
Aplicação: O verificador de plágio tem diversas aplicações para criadores de conteúdo, bloguers, editores, escritores, freelancers e educadores. Pode verificar se alguém roubou o seu trabalho e o está a utilizar e os editores podem analisar artigos submetidos por escritores e verificar se são originais ou copiados.
Deteção de Emoções Faciais
Objetivo: Criar uma aplicação capaz de prever ou identificar emoções humanas a partir de expressões faciais através da IA.
Desafio: A compreensão das emoções humanas é um desafio complexo. Muitas pesquisas foram conduzidas durante décadas para compreender a emoção facial, mas antes do advento da IA, os resultados eram muito inconsistentes.
Solução: A IA pode ajudar a analisar as emoções humanas através do rosto, utilizando conceitos como aprendizagem profunda e CNN. A aprendizagem profunda pode ser utilizada para desenvolver o software, identificar as expressões faciais e interpretá-las, detetando emoções centrais em humanos em tempo real, como alegria, tristeza, medo, raiva, surpresa, nojo, neutro, etc.
O sistema será capaz de extrair características faciais e classificar as expressões. A CNN pode realizar esta tarefa, discriminando também entre emoções positivas e negativas para detetar comportamentos e padrões de pensamento.
Aplicação: Os sistemas de deteção de emoções faciais podem ser utilizados por bots para melhorar a interação humana e fornecer assistência adequada aos utilizadores. Podem também auxiliar crianças com autismo, pessoas com deficiência visual, monitorizar sinais de atenção para segurança rodoviária e muitas outras aplicações.
Aplicação de Tradução
Objetivo: Desenvolver uma aplicação de tradução através da inteligência artificial.
Desafio: Existem milhares de línguas faladas em todo o mundo. Apesar de o inglês ser uma língua global, nem todos a compreendem em todas as partes do mundo. Se necessitar de realizar negócios com pessoas de outros países que falam línguas que desconhece, tal pode ser problemático. Da mesma forma, se viajar para outros países, pode enfrentar problemas semelhantes.
Solução: Se conseguir traduzir o que os outros estão a dizer ou a escrever, será mais fácil conectar-se com eles. Para este fim, pode usar um tradutor como o Google Tradutor. No entanto, também pode desenvolver a sua própria aplicação utilizando IA.
Para este fim, pode utilizar modelos e transformadores PNL. Um transformador extrairá características de uma frase para determinar cada palavra e o seu significado, de forma a constituir uma frase completa. O modelo codifica e descodifica as palavras de um ponto a outro. Para tal, o carregamento de um modelo transformador pré-treinado, baseado em Python, será útil. Pode também utilizar a biblioteca GluonNLP, carregando e testando os conjuntos de dados.
Aplicação: A aplicação de tradução é utilizada para traduzir diferentes idiomas em contextos de negócios, viagens, blogs, entre outros.
Projetos Avançados de IA
Analisador de Currículos
Objetivo: Desenvolver um software que use IA para analisar um grande número de currículos e auxiliar os utilizadores na escolha do candidato ideal.
Desafio: Nos processos de recrutamento, os profissionais passam muito tempo a rever vários currículos manualmente para encontrar os candidatos adequados para uma determinada posição. Este processo é moroso e ineficiente. Apesar de este processo poder ser automatizado através da correspondência de palavras-chave, esta metodologia tem várias desvantagens. Os candidatos que estão familiarizados com este processo adicionam muitas palavras-chave nos seus currículos para serem selecionados, enquanto outros podem ser rejeitados, apesar de possuírem as competências necessárias.
Solução: A análise de um grande número de currículos para encontrar os candidatos certos para cada função pode ser automatizada através do uso de um analisador de currículos. Este processo aumenta a eficiência, poupa tempo e esforço, permitindo que selecione os candidatos com as competências certas.
A IA e o ML podem ajudá-lo a criar a aplicação que seleciona os candidatos mais adequados, enquanto filtra os restantes. Para este fim, pode utilizar o conjunto de dados de currículos no Kaggle, que contém duas colunas: informações do currículo e título da função. Pode também utilizar o NLTK – uma biblioteca baseada em Python – para criar algoritmos de agrupamento de dados que combinem competências.
Aplicação: Um analisador de currículos é utilizado nos processos de recrutamento e pode ser usado por empresas e instituições de ensino.
Aplicação de Reconhecimento Facial
Objetivo: Desenvolver uma aplicação de reconhecimento facial utilizando ANN, CNN, ML e aprendizagem profunda.
Desafio: Os problemas de roubo de identidade são uma preocupação crescente, com riscos de segurança cibernética que podem comprometer sistemas e dados. Isto pode causar problemas de privacidade, fuga de dados e danos à reputação de pessoas e empresas.
Solução: Os dados biométricos, como as características faciais, são únicos, o que permite que organizações e indivíduos os usem para proteger os seus sistemas e dados. Os sistemas de reconhecimento facial podem ajudar a verificar a identidade dos utilizadores, garantindo que apenas os utilizadores autorizados e autenticados têm acesso a um sistema, rede, instalação ou dados.
Para criar esta solução, necessita de algoritmos de ML avançados, funções matemáticas e técnicas de processamento e reconhecimento de imagens 3D.
Aplicação: Este tipo de aplicação é utilizado em smartphones e outros dispositivos como cadeado de segurança e em instalações e sistemas organizacionais, para garantir a privacidade e segurança dos dados. É também utilizado por fornecedores de Gestão de Identidade e Acesso (IAM), pelo setor da defesa e muitas outras entidades.
Jogos
Objetivo: Criar jogos de vídeo utilizando conceitos de IA.
Desafio: A indústria de jogos de vídeo está em expansão e os jogadores estão a tornar-se mais experientes. Assim, existe uma necessidade constante de evoluir e fornecer jogos interessantes que se destaquem e impulsionem as vendas.
Solução: Os conceitos de IA são utilizados para criar várias aplicações de jogos, como xadrez, jogos de cobras, jogos de corridas, jogos processuais, e muitos outros. Pode usar várias competências, como chatbots, reconhecimento de voz, PNL, processamento de imagens, data mining, CNN, machine learning e muitas outras para criar um videojogo realista.
Aplicação: A IA é utilizada para criar vários jogos de vídeo, como AlphaGo, Deep Blue, FEAR, Halo e muitos outros.
Previsor de Vendas
Objetivo: Desenvolver um software capaz de prever vendas para as empresas.
Desafio: As empresas que trabalham com uma grande variedade de produtos têm dificuldades em gerir e monitorizar as vendas de cada produto. Também enfrentam desafios no acompanhamento dos stocks e na reposição de produtos esgotados. Consequentemente, as empresas podem não fornecer os produtos certos aos utilizadores, o que pode afetar negativamente a experiência do cliente.
Solução: O desenvolvimento de uma ferramenta de previsão de vendas pode ajudá-lo a prever o valor médio das vendas diárias, semanais ou mensais. Desta forma, pode entender o desempenho dos seus produtos e aumentar o stock atempadamente para satisfazer a procura do cliente.
Para este fim, pode utilizar competências como algoritmos de machine learning, análise de dados, big data, entre outros, para permitir que o software preveja as vendas com precisão.
Aplicação: Este tipo de aplicação é utilizada por lojas de comércio eletrónico, retalhistas, distribuidores e outras empresas que trabalham com uma grande variedade de produtos.
Sistema de Automação
Objetivo: Desenvolver uma solução de software capaz de automatizar certas tarefas, de modo a aumentar a produtividade.
Desafio: As tarefas manuais repetitivas são morosas. Não só são tediosas, como também reduzem a produtividade. Portanto, é necessário construir um sistema que possa automatizar diferentes tarefas, como agendamento de chamadas, atendimento, correção automática, processamento de transações, entre outras.
Solução: A utilização de IA permite o desenvolvimento de software que automatize estas tarefas, ajudando a melhorar a produtividade do utilizador e a dedicar tempo a tarefas mais críticas. Este sistema pode também enviar notificações a tempo para que as tarefas possam ser realizadas no momento adequado. A construção deste sistema requer competências como PNL, reconhecimento facial, visão computacional, entre outros.
Aplicação: A automação através da IA é amplamente utilizada para criar ferramentas de produtividade para empresas de todos os tamanhos e em vários setores, desde bancos, finanças, saúde, educação e indústria.
Conclusão
Espero que tenha achado estes projetos de IA interessantes para explorar e para expandir o seu conhecimento em inteligência artificial e outros conceitos relacionados, tais como ciência de dados, machine learning e PNL. Pode escolher um dos projetos propostos como ponto de partida para os seus estudos.
Aqui estão alguns dos melhores cursos online sobre IA e competências com elevada procura para profissionais de IA.