Quando pensamos em linguagens de programação para trabalhar com Inteligência Artificial logo cogitamos o Prolog ou o Lisp, que foram umas das primeiras linguagens a trabalharem com IA; principalmente para a construção de sistemas especialistas. Além disso, na maioria dos cursos e livros introdutórios sobre IA existem tópicos específicos sobre essas duas linguagens, sendo consideradas por muitos autores a base para o aprendizado dessa área.
Apesar de ainda serem utilizadas atualmente, o que precisamos hoje em dia é da implementação de recursos de Inteligência Artificial em ambientes comerciais, com interface amigável para o usuário e principalmente; em bases de dados comerciais que já são utilizadas pelas empresas e que normalmente escondem padrões valiosos!
Por isso, a motivação deste artigo é mostrar três linguagens de programação utilizadas por desenvolvedores de software e listar algumas bibliotecas de Inteligência Artificial que podem ser utilizadas. No final eu também faço uma análise sobre qual linguagem escolher. Vamos a elas.
Java
Hoje em dia, o Java é a linguagem de programação mais popular segundo o ranking da TIOBE e ela é muito utilizada para o desenvolvimento de sistemas web e aplicativos móveis; sendo possível programar recursos de IA nessas plataformas. Além disso, o Weka, que é uma das ferramentas de mineração de dados e aprendizagem de máquina mais populares e utilizadas do mundo foi totalmente escrita em Java. Sendo Open-Source, é possível ter acesso ao código fonte de todos os algoritmos disponíveis e integrá-los facilmente ao código fonte de uma aplicação Java. Uma pesquisa rápida na Internet vai revelar muitas outras APIs escritas em Java para IA (muitas delas antigas e desatualizadas), porém, a existência do Weka pode ser considerado um grande diferencial para quem desenvolve nessa plataforma.
Dentre as áreas da Inteligência Artificial, atualmente a tecnologia que está no topo é o aprendizado profundo (deep learning), portanto, é importante que a linguagem de programação apresente suporte a essa tecnologia. Uma das APIs mais utilizadas para deep learning é o TensorFlow do Google, que fornece uma API em Java (apesar de o forte ser em Python). Além dela, a biblioteca DeepLearning4J é específica para Java além de ser Open-Source, caracterizando uma boa alternativa para o desenvolvimento de aplicações de aprendizagem profunda no Java.
Python
O Python é uma linguagem que vem crescendo bastante nos últimos anos e muitas empresas têm adotado essa linguagem, como por exemplo o Google, a NASA, a IBM, a Embratel e o Serpro. Dentre as linguagens de programação que possuem recursos para Inteligência Artificial, talvez o Python seja a que mais existem bibliotecas para aprendizagem de máquina e análise de dados. Tenho visto ultimamente muitos novos cursos sobre esses temas que utilizam o Python como linguagem principal para o ensino de Inteligência Artificial. A maioria desses cursos (principalmente os mais avançados) estão na língua inglesa, o que é um indicativo de que daqui algum tempo (talvez um ou dois anos) esses assuntos estarão em alta também aqui no Brasil. Portanto, estudar Python é um ótimo caminho se você pretende se especializar em IA.
Com relação à bibliotecas específicas, existem muitas e eu precisaria de um artigo inteiro somente para listar uma parte delas! Alguns exemplos são: NumPy, Pandas, Matplotlib e scikit-learn; que envolvem a área de aprendizagem de máquina, análise de dados, computação científica e estatística.
No que diz respeito a aprendizagem profunda temos vários exemplos, como o TensorFlow, Theano e Keras. Essas três talvez sejam as mais populares, porém, existem várias outras que também daria um artigo inteiro sobre esse assunto. Esse fato indica que o Python está lado a lado com as tecnologias mais avançadas de IA atualmente! Aqui você pode encontrar uma listagem de outras APIs.
R
Apesar de não muito conhecida e utilizada no Brasil, o R está começando a ganhar bastante espaço nos últimos anos. Em resumo, ela é uma linguagem utilizada para estatística e análise de dados e que está ganhando bastante espaço para aplicações de inteligência artificial. Leia este artigo do portal, no qual eu explico um pouco mais sobre as oportunidades que essa linguagem pode trazer.
Um exemplo de biblioteca para trabalhar com aprendizagem de máquina no R é o ForIA e neste artigo você pode conferir uma lista de outras APIs disponíveis. Com relação a aprendizagem profunda, existe a biblioteca MXNet que possui suporte para o R. No Brasil existe pouquíssimo material sobre IA com R, enquanto que no exterior já estão disponíveis alguns cursos que envolvem essa tecnologia (apesar de não serem tão populares quanto em Python, por exemplo). Isso é um indicativo de que vai levar mais um tempo até que essa linguagem popularize-se por aqui!
Conclusão
Neste artigo eu listei somente três linguagens de programação, uma mais popular e que é largamente ensinada nas universidade do Brasil (Java), outra que está chegando em seu ápice (Python) e mais outra que ainda não é muito conhecida, mas que possui uma tendência muito forte de crescer nos próximos anos (R). Minhas dicas são as seguintes:
Se você já trabalha com Java, existem várias opções para trabalhar com IA e talvez não valha a pena estudar uma outra linguagem do zero (a não ser que realmente haja necessidade de mudança). Porém, se você vai começar na área eu não recomendo que foque muito nessa linguagem, porém, que estude o Weka por ser uma ferramenta muito fácil e que lhe dará um excelente embasamento sobre aprendizagem de máquina. Eu considero o Weka uma das melhores ferramentas, inclusive todos os experimentos do meu doutorado eu fiz nela.
Se você pretende começar com IA, a melhor alternativa hoje em dia é sem dúvida o Python por apresentar muitos recursos; fora o fato de que aqui no Brasil a IA não está ainda em seu ápice. Estudar essas duas tecnologias pode abrir para você muitas oportunidades de negócio no futuro!
E com relação ao R, como comentado antes, talvez ainda leve algum tempo para ela se tornar tão popular quanto o Python é hoje em dia. Porém, como estamos falando de tecnologia eu sugiro também que você comece a estudá-la para ficar melhor preparado para o futuro. Aprender IA com R pode fazer você um profissional ainda mais competitivo e valorizado no mercado!
E para finalizar, é claro que existem várias outras linguagens de programação que são muito populares e que eu não listei nesse artigo, como o C, C++, C#, Delphi e várias outras. Existem recursos de IA para praticamente todas as linguagens e o objetivo deste artigo foi mostrar somente essas três que possivelmente estão ou estarão no contexto dos desenvolvedores. Vamos supor que você já trabalha com C++ ou Delphi, então o ideal é você focar em recursos de IA para essas linguagens, claro que analisando antes o contexto do software a ser desenvolvido. Outro fator importante é que mesmo se não existirem bibliotecas prontas para determinadas linguagens, existem vários padrões de algoritmos que podem ser implementados do zero em qualquer linguagem de programação.
Excelente matéria!! Bem esclarecedor.
Valeu Ramon!
Que bom André! Precisando de mais dicas é só avisar 🙂
Ótima matéria! Encontrei o norte que procurava. Obrigado!
Excelente MATÉRIA!!!
Valeu Maicon!
Excelente matéria. Exatamente o que eu precisava para tirar algumas dúvidas e me motivar a estudar mais essa área. Sou fascinado pela área e atualmente tenho desejo em me especializar nela.
Legal Anderson! Se quiser alguma recomendação por onde começar a estudar é só avisar 🙂
Por onde eu começo a estudar?
Olá Alef! Recomendo este curso: https://www.udemy.com/machine-learning-e-data-science-com-python-y/?couponCode=IAEXPERTSITE
Jones, tudo bem ? Poderia passar um contato por skype ?
Olá James! Não uso Skype com frequência, então pode enviar para jones@iaexpert.com.br
Jones, parabéns pelo bom trabalho!
Gostaria de ler os trabalhos que você já publicou sobre mineração de dados (tcc, ideías), recomendações de livros, se puder me enviar qualquer coisa assim serei grato!
Obrigado!
contato@valterbarbosa.com.br
Olá Valter! Manda um e-mail para jones@iaexpert.com.br explicando bem certo o que você precisa! 🙂
Ótimo trabalho!! Muito esclarecedor.
Que bom que ajudou! 🙂
Programo em algumas linguages, mas eu queria criar um IA em php e ensinar a ela via texto. É possível? Como começar?
Olá Elenilton! Sugiro você iniciar os estudos sobre processamento de linguagem natural. Veja essa biblioteca em PHP
http://php-nlp-tools.com/
Obrigado pelo texto, realmente apontou um norte.
Que bom Eduardo! 🙂
Olá Jones, parabéns pelo conteúdo! Sou estudante de Desenho Industrial da PUC-RIO e a IA desperta bastante o interesse dos alunos, e claro o meu também. Gostaria de entrar em contato para aprender mais e obter recomendações, é possível? Grato!
Olá Alex! Pode enviar e-mail para jones@iaexpert.com.br 🙂
Excelente matéria, simples e esclarecedora. Parabéns!
Valeu Silvio! 🙂
Muito esclarecedor a matéria! Eu curso engenharia mecatronica e pretendo seguir seguir essa área e to meio perdido
Que bom que foi útil Igor, qualquer coisa é só avisar 🙂
Excelente matéria!! Vi um pouco sobre essa ferramenta(WEKA) quando cursei a disciplina de Inteligência Artificial na faculdade porém devido à greve nas universidades federais em 2015 ficamos um pouco prejudicados e o quando a greve acabou foi um corre-corre e acabou que não fizemos nenhum trabalho para explora-lá.
Pelo que percebi diante do que você escreveu, ela tem um poder incrível né? Será que você me poderia dizer quais as vantagens e desvantagens em usá-la ?
Olá Danilo! A ferramenta é muito boa, tem muitos algoritmos já implementados. Uma desvantagem é que os pesquisadores estão migrando mais para Python, e como ela é feita em Java nos últimos tempos tem ficado um pouco de lado…
Jones, parabéns pelo trabalho. Sou fora da área totalmente, médico, mas estou começando a aprender a programar em Python. Sobre IA, no teu artigo, entendi que para este perfil, devo procurar aprender o Weka tb mas que é em Java. Entendi bem? Não sei nada de Java. Obrigado e abs
Olá Fabio! Como você não é da área, o Weka é perfeito pois tem uma inteface gráfica bem interessante e não precisa saber programação. Você usa o Java junto com o Weka se você quiser fazer a integração em um sistema comercial, por exemplo
Parabéns Jones excelente material. Obrigado pela ajuda, foi muito importe no meu artigo de conclusão de curso onde trabalhei o tema “Mineração de textos em comentários de fóruns e sites”. Agora vou partir para mestrado e seguir essa área.
Comecei um projeto na área de Inteligência Artificial: https://descobertadeconhecimento.blogspot.com.br/
Valeu Regenildo!
Parabéns pelo trabalho! 🙂
Python <3
Muito boa a matéria! Parabéns!
Eu pretendo usar IA na construção de um sistema especialista, para uso na plataforma Android.
Qual seria a recomendação?
Obrigado
Olá Jefferson! Dê uma olhada na ferramenta JESS
Ótimo Artigo. Iniciei o curso de programação de Python na Data Science Academy.
Legal Norberto! Os cursos da Data Science Academy são muito bons 🙂
Excelente matéria, estou iniciando em programação e com uma forte tendência, para I.A.
Como tenho formação técnica em eletrônica, estou pensando em uma aplicação para veículos, pois já vi algo sobre isso.
Legal Gilberto! 🙂
Olá Jones,
Você saberia qual o tipo de linguagem que foi usada para uma IA fazer a analise de contratos e ordem judiciais ? Pelo que eu soube houve um grande sucesso.
Olá Claudio! Você sabe exatamente qual projeto? Que foram desenvolvidos vários sistemas com função parecida
Muito bom caro Jones Granatyr, parabéns pelo material.
Excelente matéria parabéns mesmo, eu desenvolvo já a alguns anos com php, mas estou começando a estudar o python com foco em IA por motivos pessoais e de pesquisa acadêmica, desejo muito seguir essa área, eu gostaria se possível de recomendações de alguns livros, artigos, qualquer material que possa me ajudar a começar nessa jornada de IA para poder seguir um caminho fiel de iniciante. Grato.
Olá Yurick! Que bom que gostou do artigo 🙂
Sugiro iniciar com um curso sobre machine learning: https://www.udemy.com/machine-learning-e-data-science-com-python-y/?couponCode=MLPSITEN
Muito bom o artigo, estava pensando em deixar o java (linguagem que tenho maior exp.) de lado e dar uma atenção para o R, mas vou fazer o inverso e dar um foco maior ao java.
Você já teve alguma experiência com Scala ? Será que ela apresenta alguma vantagem interessante para trabalhar com IA e Big Data ?
E quanto a esse modismo de usar Javascript pra tudo, você vê algum futuro na linguagem sendo usada em áreas de IA ?
Atualmente (junho/2018) não trabalhei com Scala para IA, mas tenho notado que estão aparecendo bibliotecas para Deep Learning. Veja neste link: https://deeplearning4j.org/scala-ai
Javascript é mais uma linguagem “comercial”, e apesar de poder utilizar não tem tantas bibliotecas assim
Empolgante. Sou Engenheiro Mecânico e estou interessado em soluções de inteligência artificial para impulsionar a estratégia de engenharia de confiabilidade, voltada pra manutenção… ou outras áreas de interesse. A linguagem R e Python pode ajudar bem. Obrigado.
Legal Fernando, que bom que gostou! 🙂
Parabéns fico muito grato por essa matéria agora sei por onde começar.
Legal Joel! 🙂
Olá. Estou pensando em criar uma assistente pessoal. Teria alguma dica de estudo?
Olá Marco! Acho que poderia começar estudando sobre bibliotecas para chatbot
Mas e noi caso de desenvolver uma I.A do zero, nao para rodar em servidor propio, sem estar locada em nuvem , criar uma I.A fort, ou melohor diser, uma “Mente Artificial” , é possivel com Python, ou teria que usar Prolog ?
Olá Andy! IA são várias técnicas e antes de indicar uma linguagem teria que analisar melhor exatamente o que você pretende desenvolver
Excelente artigo a respeito de IA (linguagens). Parabéns ao Autor.
Valeu José! 🙂
Olá. Parabéns! Quanta informação preciosa. Eu sou estudante de arquitetura, mas tenho lido muito sobre inteligência artificial e quero muito aprender , sou iniciante, nunca escrevi um código, mas estou achando fascinante e agora resolvi me dedicar. Que caminho,livros , linguagem eu devo seguir? Poderia me indicar ? Devo saber mais de uma linguagem?
Olá Rodrigo! Você pode começar pelo curso Machine Learning e Data Science com Python
Não precisa ser programador pra conseguir acompanhar 🙂
Excelente explicação. Principalmente para iniciantes nesta área.
Quero acompanha´lo nas suas publicações para conhecer mais pelo seu portal.
Legal que gostou Joao! Veja também os cursos no site 🙂
Obrigado, Jones. Ajudou bastante. Também estou iniciando os estudos na área de programação (por enquanto só em leituras de conhecimento do panorama para depois focar em alguma) e tenho interesse como geógrafo, mais especificamente em sistemas de informação geográfica.
Uma diferença – ao que parece, essencial – que aprendi sobre IA, que usa uma Base de Conhecimento, e não um Banco de Dados, é que essas linguagens não são precedurais como as da Linguagem de Programação.
Então estranho essa forma de incorporar IA nas linguagens de programação. Aprendi um pouco de ArityProlog. Só. E sei que a LISP é mais para a Robótica, Mecatrônica.
Olá Nelson! A questão de base de conhecimento é mais para sistemas especialistas (uma área mais antiga da IA)
Hoje em dia existem bibliotecas para várias linguagens comerciais que você pode utilizar integrado
Ola.
Comecei a aprender Python agora e gostaria muito de me aprofundar no ramo da inteligencia artificial. Minha pergunta: é melhor aprender a linguagem por completo, primeiro, ou posso aprender inteligencia artificial e por consequência Python?
Olá Roni! Pode aprender os dois em paralelo, pois não precisa ser especialista em Python para aprender IA 🙂
Olá Jones, parabéns pelo site.
Sou estudante de Engenharia de Software e me interesso por Data Science e Machine Learning.
Adquiri seu curso Machine Learning e Data Science com R de A à Z na Udemy, porém estou com dúvida se devo começar esse aprendizado por esse curso ou seria mais recomendável um outro primeiro. O que você sugere?
Grato!
Olá Kennedy! Pode ser por esse mesmo, pois vai lhe passar a visão geral da área de machine learning 🙂
Tem a versão do mesmo curso com o Python e Weka também
Muito bom. Parabéns pelo projeto. Não sou programador. Qual curso você sugere para iniciar os estudos e atuar como consultor de inteligência artificial?
Legal que gostou Fabricio! Recomendo este curso: https://www.udemy.com/machine-learning-e-data-science-com-python-y/?couponCode=MLPSITEN
Java esta em todo lugar, impressionante!