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 Comments

  1. Ramon said:

    Excelente matéria!! Bem esclarecedor.

    6 de abril de 2017
    Reply
  2. André said:

    Ótima matéria! Encontrei o norte que procurava. Obrigado!

    29 de maio de 2017
    Reply
  3. Maicon said:

    Excelente MATÉRIA!!!

    4 de agosto de 2017
    Reply
  4. Anderson Nardi said:

    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.

    16 de agosto de 2017
    Reply
  5. James Rogério said:

    Jones, tudo bem ? Poderia passar um contato por skype ?

    29 de agosto de 2017
    Reply
  6. Valter Barbosa said:

    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

    15 de setembro de 2017
    Reply
  7. Paco said:

    Ótimo trabalho!! Muito esclarecedor.

    4 de outubro de 2017
    Reply
  8. Elenilton said:

    Programo em algumas linguages, mas eu queria criar um IA em php e ensinar a ela via texto. É possível? Como começar?

    14 de outubro de 2017
    Reply
  9. Eduardo said:

    Obrigado pelo texto, realmente apontou um norte.

    16 de novembro de 2017
    Reply
  10. Alex Silvério said:

    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!

    24 de novembro de 2017
    Reply
  11. Silvio Cesar da Conceição said:

    Excelente matéria, simples e esclarecedora. Parabéns!

    21 de dezembro de 2017
    Reply
  12. Igor Henrique said:

    Muito esclarecedor a matéria! Eu curso engenharia mecatronica e pretendo seguir seguir essa área e to meio perdido

    22 de dezembro de 2017
    Reply
    • Que bom que foi útil Igor, qualquer coisa é só avisar 🙂

      27 de dezembro de 2017
      Reply
  13. Danilo said:

    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 ?

    6 de fevereiro de 2018
    Reply
    • 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…

      12 de fevereiro de 2018
      Reply
  14. 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

    8 de fevereiro de 2018
    Reply
    • 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

      12 de fevereiro de 2018
      Reply
  15. 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/

    8 de fevereiro de 2018
    Reply
    • Valeu Regenildo!
      Parabéns pelo trabalho! 🙂

      12 de fevereiro de 2018
      Reply
  16. Adriano Oliveira said:

    Python <3

    8 de fevereiro de 2018
    Reply
  17. Jefferson said:

    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

    8 de fevereiro de 2018
    Reply
    • Olá Jefferson! Dê uma olhada na ferramenta JESS

      12 de fevereiro de 2018
      Reply
  18. Norberto said:

    Ótimo Artigo. Iniciei o curso de programação de Python na Data Science Academy.

    28 de fevereiro de 2018
    Reply
    • Legal Norberto! Os cursos da Data Science Academy são muito bons 🙂

      28 de fevereiro de 2018
      Reply
  19. Gilberto Santana said:

    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.

    16 de março de 2018
    Reply
  20. Claudio said:

    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.

    11 de abril de 2018
    Reply
    • Olá Claudio! Você sabe exatamente qual projeto? Que foram desenvolvidos vários sistemas com função parecida

      13 de abril de 2018
      Reply
  21. ANIZIO SOUZA DA CUNHA said:

    Muito bom caro Jones Granatyr, parabéns pelo material.

    18 de abril de 2018
    Reply
  22. Yurick said:

    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.

    16 de maio de 2018
    Reply
  23. Reinaldo Padua said:

    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 ?

    2 de junho de 2018
    Reply
    • 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

      6 de junho de 2018
      Reply
  24. Fernando Xavier said:

    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 de junho de 2018
    Reply
  25. Joel awad said:

    Parabéns fico muito grato por essa matéria agora sei por onde começar.

    5 de julho de 2018
    Reply
  26. Marco said:

    Olá. Estou pensando em criar uma assistente pessoal. Teria alguma dica de estudo?

    25 de julho de 2018
    Reply
    • Olá Marco! Acho que poderia começar estudando sobre bibliotecas para chatbot

      27 de julho de 2018
      Reply
  27. Andy Frost said:

    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 ?

    29 de agosto de 2018
    Reply
    • 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

      31 de agosto de 2018
      Reply
  28. José Mauro da Costa said:

    Excelente artigo a respeito de IA (linguagens). Parabéns ao Autor.

    5 de setembro de 2018
    Reply
  29. Rodrigo said:

    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?

    9 de setembro de 2018
    Reply
  30. Joao Bernini Neto said:

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

    3 de dezembro de 2018
    Reply
    • Legal que gostou Joao! Veja também os cursos no site 🙂

      4 de dezembro de 2018
      Reply
  31. Guilherme said:

    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.

    12 de dezembro de 2018
    Reply
  32. Nelson said:

    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.

    4 de janeiro de 2019
    Reply
    • 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

      5 de janeiro de 2019
      Reply
  33. Roni said:

    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?

    22 de janeiro de 2019
    Reply
    • Olá Roni! Pode aprender os dois em paralelo, pois não precisa ser especialista em Python para aprender IA 🙂

      29 de janeiro de 2019
      Reply
  34. Kennedy Duarte said:

    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!

    26 de abril de 2019
    Reply
    • 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

      26 de abril de 2019
      Reply
  35. FABRICIO SABINO CARVALHO said:

    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?

    17 de junho de 2019
    Reply
  36. Alisson Neres said:

    Java esta em todo lugar, impressionante!

    20 de setembro de 2019
    Reply

Deixe uma resposta

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