3 Linguagens para Inteligência Artificial

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.

70 comentários em “3 Linguagens para Inteligência Artificial”

  1. 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.

  2. 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!

  3. 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 ?

    1. Profile photo ofjones

      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…

  4. 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

    1. Profile photo ofjones

      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

  5. 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

  6. 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.

  7. 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.

  8. 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.

  9. 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 ?

  10. 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.

  11. 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 ?

  12. 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?

  13. Excelente explicação. Principalmente para iniciantes nesta área.
    Quero acompanha´lo nas suas publicações para conhecer mais pelo seu portal.

  14. 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.

  15. 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.

    1. Profile photo ofjones

      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

  16. 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?

  17. 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!

  18. FABRICIO SABINO CARVALHO

    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?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.