Mostrando postagens com marcador IBM. Mostrar todas as postagens
Mostrando postagens com marcador IBM. Mostrar todas as postagens

segunda-feira, 30 de outubro de 2017

IBM faz inteligência artificial com computação sem processador


Computação em memória
A "computação em memória" - ou "memória computacional" - é um conceito emergente que usa as propriedades físicas das memórias de computador para processar informações, além de armazená-las.
Isso é bem diferente da computação atual, baseada na arquitetura von Neumann, o que inclui todos os computadores, celulares e demais aparelhos de informática, que precisam fazer os dados transitarem entre a memória e o processador, o que os torna mais lentos e menos eficientes em termos de energia.
A IBM está anunciando agora que seus engenheiros conseguiram rodar um algoritmo de aprendizado de máquina sem supervisão em um milhão de células de memória de mudança de fase (PCM), uma tecnologia na qual a empresa vem trabalhando há vários anos - assim como a Intel e outras fabricantes de semicondutores.
O programa de inteligência artificial rodou e encontrou correlações temporais em fluxos de dados desconhecidos, comprovando a efetividade da memória computacional. Os resultados foram aferidos em um computador comum.
Em comparação com os computadores clássicos de ponta, os engenheiros calculam que esta tecnologia - ainda em fase de protótipo - produza ganhos de 200 vezes em velocidade de processamento e em eficiência energética, tornando a computação em memória altamente interessante tanto para sistemas de computação ultradensa, como nos centros de dados, e aplicações paralelas, como na inteligência artificial, como também para aparelhos de baixa potência, onde a duração das baterias é importante.
Memórias que fazem cálculos
A equipe usou células de memória PCM feitas de uma liga de telureto de antimônio e germânio, semicondutores que são empilhados de forma intercalada entre dois eletrodos.
Quando uma corrente elétrica é aplicada ao material, ele se aquece, o que altera seu estado de amorfo (com um arranjo atômico desordenado) para cristalino (com uma configuração atômica ordenada) - esta é a mudança de fase que dá nome à tecnologia.
Para fazer os cálculos, a corrente elétrica aplicada é dosada de acordo com o dado a ser processado. A memória responde com uma dinâmica de cristalização correspondente à corrente, de forma que o resultado da operação é expresso em seu estado de condutância final, determinado pelo processo de cristalização.
IBM faz inteligência artificial com computação sem processador
Esquema do algoritmo de computação em memória. [Imagem: IBM]
"Este é um passo importante em nossa pesquisa da física da inteligência artificial, que explora novos materiais de hardware, dispositivos e arquiteturas," disse Evangelos Eleftheriou, que recentemente ajudou a criar memórias com três bits por célula.
"À medida que as leis de escalonamento da tecnologia CMOS se desintegram devido aos limites tecnológicos, é necessário um abandono radical da dicotomia processador-memória para contornar as limitações dos computadores atuais. Dada a simplicidade, alta velocidade e baixa energia de nossa abordagem de computação em memória, é notável que nossos resultados sejam tão parecidos com nossa abordagem clássica de referência executada em um computador von Neumann," finalizou Eleftheriou.

Bibliografia:

Temporal correlation detection using computational phase-change memory
Abu Sebastian, Tomas Tuma, Nikolaos Papandreou, Manuel Le Gallo, Lukas Kull, Thomas Parnell, Evangelos Eleftheriou
Nature Communications
Vol.: 8, Article number: 1115
DOI: 10.1038/s41467-017-01481-9

terça-feira, 17 de outubro de 2017

Intel inicia testes com chip quântico e entra na briga com IBM e Google

11 de Outubro de 2017


A Intel anunciou na terça-feira, 10, que liberou para testes o chip de computação quântica de 17 qubits (bit quântico), o que o torna o maior processador quântico produzido em laboratório, já que o chip apresentado pela IBM em maio passado tem 16 qubits. Os testes serão feitos por suas parceiras TU Delft e Qutech, que realizarão análises envolvendo as capacidades individuais dos qubits, bem como as correções de erros de código de superfície e outros algoritmos.

Até agora, a disputa na seara da computação quântica estava restrita à IBM e o Google, que, em abril, testou semicondutores de 6 qubits e 9 qubits, com o objetivo de atingir 49 qubits até o fim deste ano. O trabalho da IBM é baseado em pesquisas realizadas na Universidade de Yale pelo professor Robert Schoelkopf, enquanto o trabalho do Google é baseado na pesquisa feitas na Universidade da Califórnia, em Santa Barbara, sob coordenação do professor John Martinis — na verdade, a pesquisa começou a ser apoiada e absorvido pelo Google em 2014.

Atualmente, pesquisadores da IBM, Intel, Google e outros empresas, como a Microsoft, estão em uma corrida desenfreada para construir um chip de 50 qubits, que seria o tamanho necessário para construir um supercomputador muito mais poderoso do que qualquer outro existente até hoje. Nenhum desses pesquisadores sabe, porém, que tipos de problemas um supercomputador com capacidade de qubits poderia resolver.

Emaranhado quântico

Os computadores quânticos são muito diferentes dos computadores atuais, que são digitais. Um computador digital utiliza o sistema binário para realizar cálculos, com apenas dois algarismo: zero e um, enquanto um computador quântico usa combinações de zeros e uns para criar vários estados, que podem ser zero, um, ambos ao mesmo tempo ou algo intermediário: um zero e um estado que é difícil descrever ou determinar. Esses estados desordenados são chamados de "emaranhamento", e já existem várias fórmulas matemáticas bem conhecidas (também conhecidas como algoritmos), que podem usar esses estados para calcular coisas que os computadores tradicionais não são suficientemente poderosos ainda para fazer.

Mas, apesar dos progressos experimentais e teste, o diretor de hardware quântico da Intel, Jim Clarke, salientea que existem desafios inerentes à construção de sistemas quânticos viáveis e em larga escala, que produzam resultados precisos. “Fazer qubits [os blocos de construção da computação quântica] uniformes e estáveis é um desses obstáculos”, observa.

Segundo ele, os qubits também são tremendamente frágeis. Qualquer ruído ou distração não intencional pode fazer com que eles percam dados. "Eles dependem de metais supercondutores que devem ser mantidos incrivelmente frios, devendo operar a uma temperatura como ‘20 milikelvin’ ou 250 vezes mais frio do que o espaço profundo", diz Clarke, em um post em um blog da Intel.

sexta-feira, 22 de setembro de 2017

Cientistas da IBM usam computador quântico para quebrar recorde em química


Pesquisadores da IBM afirmam ter conseguido usar uma técnica que poderia, eventualmente, permitir um computador quântico resolver difíceis problemas em química e eletromagnetismo que, atualmente, não podem ser resolvidos pelos supercomputadores mais poderosos que temos hoje. 
Em artigo publicado nesta semana na revista científica Nature, os cientistas detalham como conseguiram usar o método para modelar a química de átomos maiores que os mais simples da tabela periódica, no caso os átomos de hidrogênio e hélio. Tal tipo de pesquisa poderia, eventualmente, permitir que esses computadores simulem moléculas ainda maiores, algo que poderia ter aplicações importantes na descoberta de novas drogas e medicamentos. 
No caso, os cientistas usaram um computador quântico para obter o estado de energia mais baixo de uma molécula de hidreto de berílio. Conhecer o estado energético de uma molécula é chave para a compreensão das reações químicas. No caso do hidreto de berílio, um supercomputador pode resolver este problema, mas as técnicas para fazê-lo não podem ser usadas para moléculas grandes porque o número de variáveis ​​excede o poder computacional, mesmo dessas máquinas.
Segundo a IBM, os cientistas desenvolveram, então, um novo algoritmo projetado especificamente para aproveitar as capacidades de um computador quântico que tem o potencial de executar cálculos similares para moléculas muito maiores.
Enquanto os bits usados ​​por computadores tradicionais representam dados como 0s ou 1s, na computação quântica, os qubits podem ser, simultaneamente, 0s e 1s em um estado conhecido como superposição, permitindo novos níveis de desempenho e eficiência. Equipados com esse poder, os pesquisadores podem resolver problemas que não poderiam ser resolvidos antes. Entretanto, o problema com os atuais computadores quânticos, incluindo o que a IBM usou para tal pesquisa, é que eles são suscetíveis a erros e, à medida que o tamanho da molécula em análise cresce, o cálculo se afasta cada vez mais da precisão química. 
A máquina utilizada pela IBM consistiu em sete quibits criados a partir de materiais supercondutores super-resfriados. No experimento, seis desses quibits foram usados para mapear os estados de energia dos seis elétrons na molécula de hidreto de berílio. Em vez de fornecer uma resposta única e precisa, como faz um computador clássico, um computador quântico deve executar um cálculo centenas de vezes, através de uma média usada para chegar a uma resposta final.
À Bloomberg, Aspuru-Guzik, professor de Química na Universidade de Harvard, ressalta que a pesquisa da IBM é um grande avanço no domínio da computação quântica e que o time da IBM "conduziu uma série de experimentos impressionantes que seguram o recorde da maior molécula já simulada em um computador quântico."
Em entrevista ao Gizmodo, o pesquisador da IBM Jerry Chow disse que há ainda erros que precisam ser endereçados no método descrito na Nature e que ainda não foi obtida a precisão química perfeita, mas se trata apenas do início da exploração do campo da química em hardware físico.

quinta-feira, 3 de agosto de 2017

Pesquisadores da IBM batem recorde ao armazenar 330TB em fita magnética

Da Redação IDGnow em 02/08/2017.

Pesquisadores da IBM atingiram um novo recorde mundial ao conseguir armazenar 330TB de dados não comprimidos em um cartucho que cabe na palma da mão. Esse valor é equivalente a nada menos do que 330 milhões de livros digitais.
A densidade de aproximadamente 201GB por polegada quadrada em fita magnética alcançada pelos cientistas da companhia é mais de 20 vezes a densidade adotada em drives de fita vendidos atualmente no mercado. 
“Apesar de a fita usada no experimento poder custar um pouco mais para ser produzida do que a fica comercial atual, o potencial para capacidades muito altas vai tornar muito atrativo o custo por terabyte, fazendo dessa tecnologia algo prático para o armazenamento frio na nuvem”, afirmou a IBM, que destaca ainda que o resultado indica a viabilidade da evolução do formato para a próxima década.
Para conseguir chegar ao resultado histórico, os pesquisadores da IBM desenvolveram diferentes tecnologias novas e trabalharam de perto por muitos anos com a Sony, que produziu a fita utilizada no experimento.
Saiba mais sobre a pesquisa da IBM no vídeo abaixo.

segunda-feira, 3 de julho de 2017

Comité aprova modularidade para a Java

Em 29/06/2017.

A IBM, Eclipse Foundation, e Red Hat deixaram de caminho livre para a implantação da tecnologia controversa na Java 9.
Modularidade, uma característica chave, mas altamente controversa na preparação da próxima versão da linguagem Java, parece estar de novo em evolução. A comunidade que supervisiona o seu desenvolvimento acabou por aprovar a adopção, depois de um primeira proposta ter sido chumbada numa votação há poucas semanas.

O Java Community Process Executive Committee conseguiu a aprovação da revisão pública da Java Platform Module System, o sistema de módulo, com 24 votos a favor e nenhum contra. Em Maio, o mesmo grupo, citando preocupações sobre a proposta não ter consenso, vetou a medida com 13 votos contra e 10 a favor.
Como consequência a disponibilização do Java Development Kit 9, no qual se vai inserir o sistema de módulos, foi adiada de 27 de Julho para 21 de Setembro. A aprovação envolveu algum trabalho para eliminar as preocupações. Empresas como a IBM, que votaram contra a medida anteriormente, tiveram atitude diferente, desta vez.
“Vemos o lançamento do JPMS como a base sólida para uma nova arquitectura da plataforma Java SE e esperamos construir isso com retorno e experiência dos nossos clientes e a comunidade “, disse a IBM. Red Hat, que votou não na votação anterior, absteve-se na última, e considera que ainda há vários pontos na proposta actual a exigir trabalho.
A Eclipse Foundation, Hazelcast e Twitter, que votaram contra anteriormente, aprovam a proposta contentes com o progresso alcançado na modularidade.
“No entanto, não queremos atrasar a versão do Java 9”, explica a empresa. Obter um retorno opinativo “real” sobre o sistema de modularidade será a chave para determinar que outras mudanças são necessárias, diz a Red Hat.
A Eclipse Foundation, Hazelcast e Twitter, que votaram contra anteriormente, aprovam a proposta contentes com o progresso alcançado na modularidade. Espera-se que esta traga benefícios de desempenho e capacidade de expansão à Java.
Mas o projecto, complexo, até foi adiado da versão Java 8 de Março de 2014 para a Java 9. A tecnologia é derivada do Project Jigsaw.

sexta-feira, 23 de junho de 2017

IBM antecipa o impacto da inteligência artificial nas profissões e nos setores

Por I9 Magazine em 22/06/2017

A IBM Portugal realizou em Lisboa a Watson Portugal Summit 2017, onde apresentou as grandes tendências tecnológicas e de negócio, deu a conhecer casos reais baseados no sistema cognitivo Watson, a plataforma de Inteligência Artificial (IA) da IBM, e promoveu um painel interativo sobre a transformação atual que já estamos a assistir nos postos de trabalho e ao nível das competências.



Acredita que daqui a dez anos a sua função será substituída por um robot ou vai deixar de confiar no seu médico face a sistemas inteligentes que processam 5.000 novos ensaios médicos por dia, foram algumas das perguntas em direto colocadas aos participantes para votarem e depois comentadas por reconhecidos gestores e líderes de topo do nosso país.

“A IBM traz o Watson Summit a Portugal para demonstrar a sua verdadeira capacidade para acompanhar as diversas organizações e setores na transformação digital através de soluções cognitivas e da plataforma cloud para ter acesso a informação crítica, relacionar-se de forma diferente, tomar decisões com uma maior confiança e executar melhor o trabalho de cada um de nós”, referiu António Raposo de Lima, Presidente da IBM Portugal. “Já não estamos no domínio da ficção científica, nem estamos a falar de utopias, mas a viver um momento único, disruptivo e dinâmico que exige uma transformação contínua e sem precedentes, e que, sem dúvida, é já uma realidade para a qual temos exemplos concretos nos mais diversos setores de atividade”.


IBM Watson, a plataforma de inteligência artificial para as empresas
O IBM Watson tem vindo a consolidar-se como a plataforma de inteligência artificial para as empresas e está disponível através de APIs e de produtos SaaS. Trata-se de uma tecnologia emergente que é já uma realidade e que está a ser aplicada em várias áreas para dar apoio aos profissionais em inúmeras indústrias, ajudando a resolver grandes desafios, como o tratamento e prevenção de doenças ou a personalização da educação, como é o caso da parceria da IBM com a Rua Sésamo. O Watson consegue ler cerca de 5.000 novos estudos médicos por dia, para além de ser possível utilizar dados médicos e dados de cada paciente para um tratamento mais personalizado. Por outro lado, os analistas de TI podem monitorizar mais de 35 mil milhões de eventos de segurança por dia. No apoio ao cliente, cada colaborador pode resolver problemas 70% mais rápido e responder a 33.000 questões diferentes de 33.000 clientes diferentes.




O IBM Watson é um sistema que aprende à escala, raciocina com um propósito e interage com humanos de forma natural para apoiar a tomada das melhores decisões. A computação cognitiva utiliza tecnologias de linguagem natural, de machine learning e de raciocínio automático. Estas capacidades foram desenvolvidas para resolver uma grande variedade de problemas práticos, aumentar a produtividade e adotar novas descobertas nos vários setores.
O IBM Watson pode analisar e interpretar dados, incluindo texto não estruturado, imagens, áudio e vídeo, oferecer recomendações personalizadas ao entender a personalidade, tom de voz e emoção do utilizador, especializar-se numa determinada matéria dentro de aplicações ou sistemas e, ainda, interagir através de diálogo.

quinta-feira, 25 de maio de 2017

Inteligência Artificial: Qual será o próximo passo dos gigantes de TI?

Da Redação, com IDG News Service 
Publicada em 24 de maio de 2017 no site CIO.


A Inteligência Artificial é a nova fronteira de concorrência  acirrada em TI, com Microsoft e Google exibindo poderosas e sempre disponíveis ferramentas para  empresas usuárias em suas respectivas conferências de desenvolvedores, Build e I/O, em maio. 
Compreensível. A Inteligência Artificial já pode johgar melhor do que qualquer humano - e até mesmo dirigindo um carro melhor do que muitos de nós. Essas performances sobre-humanas, embora em campos limitados, são todas possíveis graças à aplicação de décadas de pesquisas, começando agora a deixar os laboratórios.
As tecnologias de voz ativadas por Inteligência Artificial por trás de assistentes virtuais como o Siri, da Apple, a Cortana, da Microsoft, o Alexa, da Amazon.com e o Google Assistant, embora ainda ofereçam desempenho inferior ao dos humanos, também exigem muito menos poder do que um supercomputador para rodar. As empresas podem mergulhar nas bordas desses avanços, por exemplo, desenvolvendo "habilidades" Alexa que permitam que aos proprietários do Amazon Echo interagir com elas sem ter que discar para o seu call center, ou navegar pelo site, apenas usando reconhecimento de voz baseado em nuvem.
Alguns dos primeiros trabalhos sobre Inteligência Artificial procuraram modelar explicitamente o conhecimento humano do mundo de uma forma que os computadores pudessem processar e raciocinar, se não entender o que está ao seu redor. Isso levou à comercialização dos primeiros "sistemas especialistas" baseados em texto. Esses primeiros sistemas não aprenderam pela experiência ao longo de sua carreira. Em vez disso, a experiência foi alimentada por muitos dados, seguindo um processo laborioso de seres humanos entrevistando outros seres humanos e destilando seu conhecimento implícito em regras explícitas.
Os maiores avanços na pesquisa de Inteligência Artificial nos últimos anos, e os mais aplicáveis ​​no mundo corporativo, envolveram máquinas aprendendo com a experiência para ganhar seu conhecimento e compreensão. As melhorias na aprendizagem de máquina conduziram a mais uma derrota de um campeão de Go pelo AlphaGo, um programa desenvolvido pela DeepMind, subsidiária do Google. Esta semana, o jogador número 1 do mundo, Ke Jie, perdeu a primeira de uma série de três partidas contra a máquina. A vitória do AlphaGo foi por apenas meio ponto de diferença, uma marca do estilo de jogo do programa do DeepMind, que se importa mais com movimentos que lhe deem mais chances de vencer do que com o placar em si.
A aprendizagem da máquina começou com a criação de redes neurais - modelos computacionais que imitam a forma como as células nervosas, ou neurônios, transmitem informações ao redor de nossos corpos. Nosso cérebro contém cerca de 100 bilhões de neurônios, cada um conectado a cerca de 1 mil outros. Uma rede neural artificial modela uma coleção dessas células, cada uma com suas próprias entradas (dados de entrada) e saídas (os resultados de cálculos simples nesses dados). Os neurônios são organizados em camadas, cada camada tomando a entrada do anterior e passando sua saída para o próximo. Quando a rede resolve corretamente um problema, um peso adicional é dado às saídas dos neurônios que previu corretamente a resposta, e assim a rede aprende.
Redes com muitas camadas - as chamadas redes neurais profundas - podem ser mais precisas. Eles também são computacionalmente mais caras. Eles foram salaos de ser uma curiosidade de pesquisa pela capacidade de processamento paralelo da GPU, usada anteriormente principalmente para o processamento de jogos.
Os transistores estão fazendo isso por si mesmos
Esses avanços estão dando às empresas novas formas de lidar com seus grandes problemas de dados - mas criar a tecnologia necessária é, até certo ponto, um grande problema de dados em si.
Um de nossos pontos fortes é que podemos aprender com apenas alguns exemplos, disse o diretor de engenharia do Google, Ray Kurzweil, aos participantes da Cebit Global Conference, em março.
"Se o seu chefe lhe disser algo uma ou duas vezes, você pode realmente aprender com isso. Essa é uma força de inteligência humana, ainda distante das máquinas", disse ele.
Mas no campo da Deep Learning há um ditado que diz que "a vida começa em um bilhão de exemplos".
Em outras palavras, as tecnologias de aprendizagem mecânica, como redes neurais profundas, precisam observar uma tarefa um bilhão de vezes para aprender a realizá-la melhor do que um ser humano.
Encontrar milhares de milhões de exemplos de algo é um problema em si: os desenvolvedores do AlphaGo examinaram a Internet para registros de milhares de partidas de Go entre humanos para fornecer o treinamento inicial para sua rede neural de 13 camadas. Como ela se tornou mais experiente, ela joga contra outras versões de si mesmo para gerar novos dados de jogo.
A AlphaGo aprendeu usando dois tipos de máquina de aprendizagem. Os jogos humanos foram analisados ​​através da aprendizagem supervisionada, na qual os dados de entrada são marcados com a resposta que a rede neural deve aprender - neste caso, que jogar esses movimentos leva à vitória. E, depois, jogando contra si, em um tipo de reforço aprendizado. O objetivo de ganhar o jogo ainda era explícito, mas não havia dados de entrada. O AlphaGo  foi programado para gerar e avaliar isso por si mesmo, usando uma segunda rede neural em que os neurônios começaram com as mesmas ponderações que a rede de aprendizagem supervisionada, mas modificou-os gradualmente com as descobertas que fez sobre estratégias de jogadores humanos.
DL625
Uma terceira técnica, a aprendizagem não supervisionada, é útil nos negócios, mas menos útil nos jogos. Neste modo, nenhuma informação é dada para a rede neural sobre o seu objetivo, mas é deixado que ela explore livremente um conjunto de dados por conta própria, agrupando os dados em categorias e identificando as ligações entre eles. Machine Learning usada desta forma torna-se apenas mais uma ferramenta de análise: pode identificar padrões e deixar que um jogo se desenrole e termine de várias maneiras,  deixando o julgamento do que fazer em cada jogada para um supervisor humano.
Há muitas empresas, grandes e pequenas, que oferecem alguns dos blocos de construção Inteligência Artificial para uso em aplicativos e serviços corporativos. As empresas menores, muitas vezes focam em tarefas específicas ou em indústrias específica.
Graças em grande parte à publicidade em torno de sua oferta Watson , a IBM é um dos primeiros vendedores de Inteligência Artificial a saltar à mente - embora prefira o termo "computação cognitiva".
O Watson inclui ferramentas para criar chatbots, descobrir padrões e estrutura em dados textuais e extrair conhecimento de texto não estruturado. A IBM também treinou alguns de seus serviços Watson com informações específicas de determinados setores, adaptando a oferta para usuários em serviços de saúde, educação, serviços financeiros, comércio, marketing e operações de cadeia de suprimentos.
A IBM e seus parceiros podem ajudar a integrar a Inteligência Artificial aos processos de negócios existentes, ou os desenvolvedores podem pesquisar por si mesmos, já que a maioria das ferramentas também está disponível como APIs no portal de serviços em nuvem Bluemix.
Cognitivo também é o termo preferido da Microsoft. Sob a marca Microsoft Cognitive Services, a empresa oferece aos desenvolvedores acesso às APIs para incorporar tecnologias de aprendizado de máquinas em suas próprias aplicações. Estas incluem ferramentas para converter a fala em texto e compreender a sua intenção; detectar e corrigir erros ortográficos em um texto; traduzir fala e texto; e explorar as relações entre os trabalhos acadêmicos, seus autores e as revistas que os publicam. Há também um serviço para construir chatbots e conectá-los ao Slack, Twitter, Office 365 e outros serviços, chamado Bot Framework . A Microsoft também oferece um kit de ferramentas de código aberto que as empresas podem baixar para treinar seus sistemas de aprendizagem profunda usando seus próprios conjuntos de dados macivos.
Na Build, no início de maio, ofereceu versões de produção de serviços anteriormente disponíveis somente na pré-visualização, incluindo uma API de marcação de rosto e um moderador de conteúdo automatizado que pode aprovar ou bloquear texto, imagens e vídeos, encaminhando casos difíceis para revisão de humanos. Há também um novo serviço de reconhecimento de imagem personalizado que as empresas podem treinar para reconhecer objetos de interesse para eles, como peças usadas em uma fábrica. 
A Google oferece muitas das tecnologias de aprendizado de máquinas que usa internamente como parte de sua plataforma Google Cloud . Os sistemas estão disponíveis ou já treinados para tarefas específicas ou para serem treinados a partir de dados dos próprios usuários, que incluem análise de imagem, texto e vídeo, reconhecimento de voz e tradução. Há também uma ferramenta de processamento de linguagem natural para extrair sentimento e significado do texto que pode ser usado em chatbots e call centers. Há ainda uma ferramenta de pesquisa de trabalho super-focada que tenta combinar candidatos a emprego com vagas com base em sua localização, experiência e habilidades.
Quanto à Amazon Web Services, ela permite que as empresas criem novas "habilidades" ou aplicativos controlados por voz para o Alexa, o assistente digital embutido nos dispositivos Amazon Echo, e oferece muitas das tecnologias por trás do Alexa "como um serviço". Sua oferta mais recente é dirigida aos call centers, o Amazon Connect , cobrado por chamada e por minuto. Oferece integrações com os serviços de reconhecimento e compreensão de fala da Amazon, permitindo que as empresas criem sistemas de resposta de voz (IVR) mais sofisticados.
deeplearning625
Abra a imagem em uma nova janela para ampliar
E o que está por vir?
Esses serviços estão todos em produção, mas há muitos outros em compasso de espera.
A Microsoft, por exemplo, já convida as empresas a testarem versões de "pré-visualização" de vários outros serviços, incluindo uma ferramenta de análise de imagem chamada Emotion API, que pode identificar a emoção expressa por rostos em fotos, atribuindo probabilidades relativas à raiva, desprezo, desgosto, medo, felicidade, tristeza e surpresa. (Você pode enviar um selfie para experimentá-la.)  Melhorias para as ferramentas de voz da empresa também estão no horizonte. Elas permitirão às empresas ajustar o motor para regiões específicas ou ambientes (Custom Speech Service), e até mesmo para reconhecer o orador.
Uma nova ferramenta chamada QnA Maker extrai perguntas freqüentes de um texto e as serve como respostas para um chatbot. Os resultados até agora são um tanto toscos, não raro mais por culpa dos textos uados como fonte pelo fabricante de QnA.
Na conferência Google Cloud Next '17, realizada em março na cidade de São Francisco, a empresa revelou um teste beta privado de sua API Cloud Video Intelligence, que permitirá aos testadores encontrar clipes de vídeo relevantes, procurando por substantivos ou verbos descrevendo o conteúdo. O Google espera estimular uma maior demanda por seus serviços com uma nova máquina  que está funcionando com as empresas de capital de risco Data Collective e Emergence Capital e com a abertura do Laboratório de Soluções Avançadas de Machine Learning em Mountain View, Califórnia, onde os clientes poderão trabalhar com especialistas do Google para aplicar a aprendizagem de máquina para seus próprios problemas.
Mais recentemente, durante a Google I/O, a empresa mostrou a plataforma TensorFlow Lite para telefones celulares e um processador mais robusto para a execução de cargas de trabalho de aprendizagem de máquinas, a Cloud TPU (Tensor Processing Unit). El também publicou detalhes de algumas das APIs de aprendizado de máquinas que tem usando internamente. 
As grandes empresas não têm um monopólio sobre a ipesquisa em Inteligência Artificial, mas a concorrência por pessoal qualificado é feroz. O Facebook, que tem sua própria divisão interna de pesquisa, organiza eventos internos de treinamento para aumentar a conscientização da aprendizagem de máquinas entre seus funcionários.
Algumas das maiores empresas envolvidas na pesquisa da IA estão demonstrando disposição para publicar seus resultados e liberar grande parte de seu código sob licenças de código aberto . Mesmo a notoriamente fechada Apple publicou seu primeiro trabalho de pesquisa  no final do ano passado.
Mas nenhuma delas tem revelado as jóias da coroa. Esses kits de ferramentas de aprendizado de máquinas e serviços em nuvem, por melhor que sejam, ainda são redes neurais não treinadas, tão útil para uma empresa como uma escola abandonada.
A experiência conta. E o que  Google, Facebook, Amazon, e até mesmo a Apple e Microsoft, estão fazendo hoje é reunir bilhões de pequenos exemplos que podem formatar futuras ofertas. 
Naturalmente, um bilhão de exemplos nem sempre podem ser necessários: os computadores podem aprender a fazer algumas coisas quase tão bem quanto um humano com muito menos dados, e para muitas tarefas hoje em dia, quase pode ser bom o suficiente, especialmente se o computador for capaz de lidar com situações que não necessitem de um supervisor humano.
Bem ao seu lado
É com isso que muitas das organizações que constróem chatbots com Inteligência Artificial estão contando. Elas têm muito menos que um bilhão de pontos de dados para lidar, e ainda esperam que serviços como o QnA Maker, da Microsoft, os ajudem a atender os clientes de novas maneiras.
E aqui é preciso levantar um risco que as empresas enfrentam ao usar os serviços de nuvem. Entre elas, a privacidade.
Uma pesquisa recente da Accenture descobriu que, nos próximos três anos, 78% dos bancos dos EUA contarão com a Inteligência Artificial para garantir uma experiência mais humana quando lidam com sistemas automatizados e 76% deles esperam competir em sua capacidade de tornar a tecnologia invisível para os clientes.
No entanto, nos próximos dois ou três anos, os sistemas de aprendizado de máquinas serão mais eficazes quando usados ​​para filtrar e priorizar as decisões para os seres humanos.
- See more at: http://cio.com.br/tecnologia/2017/05/24/inteligencia-artificial-qual-sera-o-proximo-passo-dos-gigantes-de-ti/#sthash.QDgDpW2v.dpuf

sexta-feira, 19 de maio de 2017

Usando serviços cognitivos (ou de inteligência artificial) para melhorar um chatbot

Em 18/05/2017 no site iMasters.



Nos artigos anteriores, vimos como criar um chatbot que possa ser implantado em dois aplicativos de mensagens: Facebook (publicado no iMasters, em português) e no Slack (leia o texto em inglês, aqui). Neste tutorial final, explico como você pode aprimorar o chatbot usando o IBM Watson Services. O chatbot de notícias nesta série usa o conteúdo do developerWorks como um exemplo, mas você pode modificar a fonte de conteúdo para atender às suas próprias necessidades.
Em outros artigos, eu descrevi a importância da inteligência artificial (IA) em seus chatbots e expliquei como é difícil construir sua própria IA – ela requer não apenas as melhores cabeças da ciência dos dados, mas também uma enorme quantidade de dados para treinar modelos. Uma pequena empresa geralmente não tem esses tipos de recursos. Felizmente, você pode usar a pesquisa avançada de IA que é feita por empresas como a IBM em seus aplicativos.
A IBM fornece suas funções de IA através dos serviços Watson em sua plataforma Bluemix. Esses serviços permitem que você incorpore IA em seu aplicativo simplesmente chamando serviços da web. Nos dois artigos anteriores desta série, deixei algumas chaves de serviço vazias na classe BaseServlet. Essas chaves são para os serviços Watson que eu uso no chatbot. Especificamente, eu uso:
  • Watson Conversation para determinar a intenção do usuário quando o usuário diz algo que não está na lista de palavras-chave do comando.
  • Watson Retrieve and Rank (recuperação e classificação) que combina um mecanismo de pesquisa com um modelo de classificação treinado para fornecer resultados de pesquisa personalizados e específicos do domínio.
  • Watson Speech to Text para interpretar o que o usuário diz ao enviar uma gravação de voz.
  • Watson Text to Speech para ler o resumo do artigo em voz alta para o usuário.
  • Watson Tradeoff Analytics para permitir que o chatbot selecione um artigo para o usuário com base nas preferências declaradas do usuário.
Nota: O Watson Conversation faz mais do que detectar a intenção de um usuário. Ele também detecta entidades em uma mensagem (isto é, conceitos ou objetos com sinônimos) e mantém o controle do estado da conversa. Você pode criar um script no serviço para gerar respostas automatizadas com base na intenção, entidades e estado de conversação atuais – tornando-o um mini-chatbot por conta própria.
É claro que existem muitos outros serviços de IA no catálogo Watson, mas vou me concentrar nesses cinco serviços como exemplos neste tutorial.

Configuração Bluemix

Antes de iniciar, você deve ter acesso ao Bluemix. Você pode se inscrever para um teste gratuito de 30 dias sem cartão de crédito requerido. Você obtém acesso a 2 GB de memória de runtime e contêiner para executar aplicativos, serviços e APIs ilimitados da IBM e suporte complementar. Essa memória deve ser suficiente para testes e projetos pessoais.
1. Depois de iniciar sessão no Bluemix, selecione um serviço do catálogo Watson para adicionar à sua conta.
2. Configurar e criar o serviço. Para cada serviço, crie uma credencial – um nome de usuário e senha – para acessar o serviço. O nome de usuário e a senha são passados para o serviço da web usando cabeçalhos HTTP.
3. As credenciais geradas automaticamente acessam o serviço Watson.
Você pode testar os web services usando ferramentas de linha de comando como curl ou usando um web-based API explorer. Neste tutorial, eu uso curl. O API explorer pode acessar web services endpoints usando uma página web interativa. Você pode construir um request e ver detalhes da resposta que é gerada pelo API explorer do Watson, conforme mostrado na figura a seguir. (Observe o nome de usuário e a senha no canto superior direito.)

Watson Conversation

Vejamos o serviço Watson Conversation. Uma de suas funções é detectar a intenção do usuário em uma mensagem, o que é útil em conversas do chatbot. O chatbot pode mapear a entrada do usuário para uma das várias “ações” que ele sabe como executar e, em seguida, dar a resposta apropriada. É a essência de fazer o chatbot parecer “inteligente”.
Nota: Se você precisar apenas de um classificador de intenção de linguagem natural, você pode usar o serviço Watson Natural Language Classifier. No entanto, o Conversation oferece muitos recursos e ferramentas úteis para o desenvolvimento do chatbot.
No painel do Conversation, clique para abrir um console web para o serviço. (Se você precisa saber como chegar ao painel do serviço Conversation, você pode seguir as instruções na Watson Developer Cloud).
Crie um workspace para o seu projeto e, em seguida, neste workspace, adicione serviços de intenção, de entidade e de diálogo. Neste exemplo, vou mostrar como funciona a intenção.
Para detectar intenções, você deve primeiro “treinar” um modelo. Você dá ao modelo algumas frases de exemplo e suas intenções. Depois que o modelo “aprende” alguns exemplos, ele é capaz de classificar novas frases. Quanto mais treinamento tiver um modelo, mais precisamente ele classificará novas frases.
Você também pode carregar um arquivo CSV para os dados de treinamento ou criar suas próprias intenções. Meus dados de treinamento estão em um arquivo CSV. A primeira coluna tem frases de exemplo e a segunda coluna tem as classificações. A seguir, estão alguns exemplos de frases de treinamento. As primeiras linhas são classificadas como “ajuda” e as últimas linhas são classificadas como “busca”.
1Can you help me?,help
2Please help!,help
3Someone help,help
4I want to know how this works,help
5How does this work?,help
6I would like to know why,search
7Can you search for this for me?,search
8I have a question,search
9I'd like to ask a question,search
Na aba Intenções, introduza as suas intenções ou carregue o seu arquivo CSV, o console será preenchido com as suas intenções declaradas e exemplos de frase. Você pode ajustar as intenções e os exemplos interativamente no console web.
Depois que seu modelo estiver treinado, você pode consultá-lo com novas frases e ele fornecerá as intenções que ele pode “pensar” e o nível de confiança para cada intenção. O WORKSPACEID é o ID do modelo gerado quando criei o espaço de trabalho. É na URL do console da web quando você está dentro da área de trabalho.
1curl -X POST -u "USERNAME":"PASSWORD" -H "Content-Type:application/json" -d "{\"input\": {\"text\": \"how are you\"}}" "https://gateway.watsonplatform.net/conversation/api/v1/workspaces/WORKSPACEID/message?version=2016-07-11"
2  
3{"input":{"text":"how are you"},
4 "context":{"conversation_id":"..." ...},
5 "entities":[],
6 "intents":[{"intent":"hello","confidence":1}],
7 "output":{"log_messages":[…],"text":[]}
8}
Para tornar seu chatbot inteligente, você deve coletar continuamente inputs de usuários do mundo real, classificá-las manualmente e, em seguida, treinar seu classificador de linguagem natural ao longo do tempo (ou seja, criar vários modelos).

Watson Retrieve and Rank

No chatbot de entrega de notícias do developerWorks que eu criei como parte desta série, implantei um mecanismo de pesquisa Lucene (Hibernate Search) para indexar e pesquisar tutoriais a pedido do usuário. Ele funciona bem para encontrar conteúdo relevante de uma forma objetiva (ou seja, a frequência do termo–inverso da frequência nos documentos, ou valor tf-idf). No entanto, o problema com a pesquisa de termos e pesquisa de frequência nos documentos é que ela não reflete a preferência do usuário; ela só reflete o uso de palavras-chave de busca no corpo de documentos.
O serviço Watson Retrieve and Rank (recuperação e classificação) aborda este problema combinando um mecanismo de busca com aprendizado de máquina. Você pode classificar manualmente os resultados da busca para termos de pesquisa. Com base nesses dados, ele aprende suas preferências e é capaz de classificar os resultados para novos termos de pesquisa.
O Watson Retrieve and Rank precisa de duas coisas: um cluster Apache Solr e um classificador. O serviço usa o mecanismo de busca autônomo Apache Solr, que também é baseado no Lucene. Configurar um cluster Solr como um serviço na nuvem Watson tem aproximadamente três etapas:
  1. Crie um cluster Solr usando uma call de webservice. A call retorna um ID para o cluster que você pode usar mais tarde.
  2. Carregue os arquivos de configuração do Solr para o cluster. Os arquivos de configuração especificam o comportamento do mecanismo de pesquisa, por exemplo, quais palavras são tratadas como sinônimos, a estratégia de indexação, a filtragem e as políticas de cache do cluster.
  3. Carregue um documento JSON que contenha todos os documentos de origem a serem pesquisados. Você deve recuperar o texto de seus documentos, atribuir a cada um deles um ID e colocá-los em um arquivo JSON para ser carregado para o cluster Solr usando o webservice Watson.
Para treinar um classificador, você o trata de forma muito parecida com o modo como treina o classificador de linguagem natural. Você cria um arquivo CSV que contém perguntas que o usuário provavelmente fará, seguido por qualquer número de colunas que listam o ID do documento de resultado da pesquisa e a relevância (classificação) de cada documento. Depois que o modelo estiver treinado, você pode fazer consultas de pesquisas subsequentes. Watson tentará retornar os resultados que estiverem ordenados de acordo com sua preferência.
O processo de configuração de um cluster Solr e do classificador para o serviço Watson Retrieve and Rank é bastante complicado. Consulte a documentação do Watson para acompanhar arquivos de exemplo.

Watson Tradeoff Analytics

O serviço Watson Tradeoff Analytics pode ajudar o seu chatbot a equilibrar múltiplos fatores de decisão e a fazer recomendações aos seus usuários. Este caso de uso é muito comum. A abordagem simplista é filtrar e ordenar resultados com base na preferência do usuário ou nos critérios estabelecidos. Mas filtragem e ordenação muitas vezes dá resultados pobres porque são muito grosseiras. O serviço Tradeoff Analytics equilibra critérios conflitantes usando um algoritmo chamado Pareto Optimization.
Para usar o Tradeoff Analytics você deve entregar os fatores a serem otimizados e uma lista de opções possíveis com pontuação para cada fator. A seguir está um arquivo de entrada de dados XML de um exemplo oficial da IBM. A matriz columns contém campos (keys) que devem ser otimizados na decisão. A matriz options contém as opções para dela selecionar. Cada elemento options contém todas as keys das columns.
1{
2  "subject": "phones",
3  "columns": [
4    {
5      "key": "price",
6      "type": "numeric",
7      "goal": "min",
8      "is_objective": true,
9      "full_name": "Price",
10      "range": {
11        "low": 0,
12        "high": 400
13      },
14      "format": "number:2"
15    },
16    {
17      "key": "weight",
18      "type": "numeric",
19      "goal": "min",
20      "is_objective": true,
21      "full_name": "Weight",
22      "format": "number:0"
23    },
24    {
25      "key": "brand",
26      "type": "categorical",
27      "goal": "min",
28      "is_objective": true,
29      "full_name": "Brand",
30      "range": [
31        "Apple",
32        "HTC",
33        "Samsung",
34        "Sony"
35      ],
36      "preference": [
37        "Samsung",
38        "Apple",
39        "HTC"
40      ]
41    },
42    {
43      "key": "rDate",
44      "type": "datetime",
45      "goal": "max",
46      "full_name": "Release Date",
47      "format": "date: 'MMM dd, yyyy'"
48    }
49  ],
50  "options": [
51    {
52      "key": "1",
53      "name": "Samsung Galaxy S4",
54      "values": {
55        "price": 249,
56        "weight": 130,
57        "brand": "Samsung",
58        "rDate": "2013-04-29T00:00:00Z"
59      }
60    },
61    {
62      "key": "2",
63      "name": "Apple iPhone 5",
64      "values": {
65        "price": 449,
66        "weight": 112,
67        "brand": "Apple",
68        "rDate": "2012-09-21T00:00:00Z"
69      }
70    },
71    {
72      "key": "3",
73      "name": "HTC One",
74      "values": {
75        "price": 299,
76        "weight": 143,
77        "brand": "HTC",
78        "rDate": "2013-03-01T00:00:00Z"
79      }
80    }
81  ]
82}
Poste o seguinte conteúdo XML como um corpo HTTP POST para o serviço Tradeoff Analytics.
1curl -X POST -u USERNAME":"PASSWORD"
2--header "Content-Type: application/json"
3--data @problem.json
5analytics/api/v1/dilemmas?generate_visualization=false"
O serviço retorna uma sugestão para cada uma das opções possíveis. Seu chatbot agora pode retornar os resultados para o usuário. Neste caso, a melhor opção é options 1, que é Samsung Galaxy S4.
1{
2  "problem": {
3    … …
4    "resolution": {
5    "solutions": [
6      {
7        "solution_ref": "1",
8        "status": "FRONT"
9      },
10      {
11        "solution_ref": "2",
12        "status": "INCOMPLETE",
13        "status_cause": {
14          "message": "A column of a option is out of range. Option \"2\" has a value in column \"price\" which is:\"449\" while the column range is: \"[0.0,400.0]\"",
15          "error_code": "RANGE_MISMATCH",
16          "tokens": [
17            "price",
18            "449",
19            "[0.0,400.0]"
20          ]
21        }
22      },
23      {
24        "solution_ref": "3",
25        "status": "EXCLUDED"
26      }
27    ]
28  }
29}

Watson Text to Speech

Com o serviço Watson Text to Speech seu chatbot lê em voz alta para seus usuários. Esse método é uma boa maneira de comunicar informações ao usuário quando a leitura das informações não é conveniente. Também é útil para comunicar um grande parágrafo de texto em um ambiente de mensagens móvel. No código de amostra do bot de notícias do developerWorks, eu uso o Watson Text to Speech para ler o resumo do tutorial em voz alta.
Nota: O botão “Ouça isso” está disponível apenas no aplicativo de amostra do GitHub. Não está nos aplicativos de demonstração ao vivo no Facebook Messenger e Slack.
O serviço é simples. Basta apenas fornece seu texto como um parâmetro HTTP e o serviço retorna um arquivo WAV que contém o áudio. Você pode salvar os dados WAV binários e torná-los disponíveis para o aplicativo de mensagens como um link para reprodução.
No entanto, o áudio WAV é minimamente compactado e leva muito tempo para o cliente de mensagens fazer o download. Minha estratégia é passar o conteúdo do WAV por meio de um serviço de codificação de mídia baseado na web e transformá-lo em um link MP3.
No meu código de exemplo, eu escolho usar o serviço zencoder para essa finalidade. O conteúdo WAV do Watson é armazenado em cache no servidor e o link armazenado em cache é passado para o zencoder usando uma chamada de serviço da web para codificação MP3. Depois que o zencoder conclui seu trabalho de codificação, o aplicativo bot pode recuperar um link MP3 e redirecionar o usuário para lá.

Watson Speech to Text

O Watson Speech to Text transforma uma gravação de áudio de voz em texto. É útil no desenvolvimento de chatbots baseados em voz, onde o bot pode responder aos comandos de voz do usuário. Esses aplicativos de comando de voz atraem muitos usuários. A API web é simples. Você só precisa carregar o conteúdo de áudio da fala no corpo de sua solicitação de postagem HTTP.
1curl -X POST -u "USERNAME":"PASSWORD"
2--header "Content-Type: audio/ogg"
3--data-binary @audio.ogg
Na maioria dos aplicativos de mensagens modernos, os usuários podem enviar mensagens de voz gravadas entre si. A mensagem é exibida na sessão de bate-papo como um clipe de áudio “reproduzível”. Quando o usuário envia uma mensagem de voz para um chatbot, a API envia um link MP3 do arquivo de áudio para o webhook do bot.
No bot de notícias do developerWorks, transformo o áudio em um comando de texto.
Na classe BaseServlet do meu código, eu lido com todo o processamento de voz automaticamente. Se o usuário envia uma mensagem de voz, a classe BaseServlet a transforma em texto e passa o texto para o método converse( ), que o desenvolvedor do bot implementa. Portanto, no método converse( ), você pode se concentrar em lidar com mensagens de texto.
Dependendo da sua plataforma de mensagens, você pode ter que fazer mais alguns passos. Por exemplo, a plataforma Facebook Messenger envia links de áudio de voz para um arquivo MP3. Neste caso, eu primeiro transcodifico o arquivo MP3 em um arquivo de áudio OGG, que Watson suporta e, em seguida, passo o arquivo OGG para Watson. A transcodificação é feita usando o serviço web zencoder.

Resumo

Nesta série de artigos, eu descrevi os princípios básicos e técnicas para a construção de chatbots em modernas plataformas de mensagens móveis. Os serviços cognitivos IBM Watson podem desempenhar um papel crucial ao tornar os chatbots mais inteligentes e fáceis de usar. Confira aqui o artigo sobre chatbots utilizando o Facebook Messenger.
***
Michael Yuan faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela Redação iMasters, com autorização do autor, e você pode acompanhar o artigo em inglês no link: https://www.ibm.com/developerworks/library/cc-cognitive-chatbot-watson/