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.

It's only fair to share...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

8 Comentários

  1. Ramon said:

    Excelente matéria!! Bem esclarecedor.

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

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

    29 de maio de 2017
    Responder
  3. Maicon said:

    Excelente MATÉRIA!!!

    4 de agosto de 2017
    Responder
  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
    Responder
    • Legal Anderson! Se quiser alguma recomendação por onde começar a estudar é só avisar 🙂

      17 de agosto de 2017
      Responder

Deixe uma resposta

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