Sztuczna inteligencja przyszłość czy. teraźniejszość? Emil Dąbrowski

Podobne dokumenty
OpenPoland.net API Documentation

Programowanie Komponentowe WebAPI

JAX-RS czyli REST w Javie. Adam Kędziora

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

Healthix Consent Web-Service Specification

Zaawansowane aplikacje internetowe laboratorium REST

Wstęp. Ale po co? Implementacja

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Widzenie komputerowe (computer vision)

Imagination Is More Important Than Knowledge

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Zaawansowane aplikacje internetowe laboratorium

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Język JAVA podstawy. wykład 2, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Zaawansowane aplikacje WWW - laboratorium

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Metody Metody, parametry, zwracanie wartości

Aplikacja wielowątkowa prosty komunikator

NoSQL Not Only SQL, CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Igor Wojnicki

1 Wprowadzenie do J2EE

Wielojęzykowość w aplikacjach J2EE. Tomasz.Skutnik@e-point.pl

Sexy unit testy. czyli o kilku praktykach w testach jednostkowych

Dokumentacja techniczna API systemu SimPay.pl

Wywoływanie metod zdalnych

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

RESTful Android. Na co zwrócić uwagę przy tworzeniu aplikacji klienckich REST na Androidzie

Aplikacje RMI Lab4

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

NoSQL Not Only SQL: CouchDB. I.Wojnicki, NoSQL. Apache CouchDB has started. Time to relax. Przetwarzanie dokumentów i widoków.

Laboratorium Programowania Kart Elektronicznych

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

Programowanie obiektowe

SEO Audit for domain blog.rabinek.pl

Programowanie telefonów z Windows Phone 7, cz. 4

Wywoływanie metod zdalnych

Systemy Rozproszone - Ćwiczenie 6

Bartosz Jachnik - Kino

Wykorzystywanie parsera DOM w programach Java i PL/SQL

SNP SNP Business Partner Data Checker. Prezentacja produktu

Laboratorium Programowania Kart Elektronicznych

Wykład dla studentów Informatyki Stosowanej UJ 2012/2013

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

BAZA DANYCH SIECI HOTELI

Aplikacje WWW. Krzysztof Ciebiera. 3 kwietnia 2014

akademia androida Składowanie danych część VI

Programowanie obiektowe

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Podstawy XML-a. Zaawansowane techniki programowania

Budowa prostej aplikacji wielowarstwowej. Laboratorium 1 Programowanie komponentowe Zofia Kruczkiewicz

Remote Method Invocation 17 listopada 2010

Wstęp do głębokich sieci neuronowych. Paweł Morawiecki IPI PAN

Podejście obiektowe do budowy systemów rozproszonych

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

(Apache) CouchDB. Krzysztof Kulewski 2008

Specyfikacja techniczna. mprofi Interfejs API

Aplikacje RMI

Podejście obiektowe do budowy systemów rozproszonych

Systemy agentowe. Uwagi organizacyjne i wprowadzenie. Jędrzej Potoniec

Malware + Machine Learning (ML) - czy to ma sens? Kamil Frankowicz

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java

APEX zaawansowany raport

Badania poziomu bezpieczeństwa portalu dostępowego do infrastruktury projektu PL-Grid

Instrukcja 5 Laboratorium z Podstaw Inżynierii Oprogramowania. Warstwy integracji z bazą danych: Wzorzec DAO Technologia ORM

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

think big 1 icon DNA made by Freepik from

Laboratorium 10 - Web Services

PROGRAMOWANIE DYNAMICZNE

Dawid Gierszewski Adam Hanasko

SOAP. Autor: Piotr Sobczak

Remote Method Invocation 17 listopada rozproszonych. Dariusz Wawrzyniak (IIPP) 1

Metasploit Part 1. The Beginning

Stanowe komponenty sesyjne

Szybko, prosto i tanio - ale czy na pewno?

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Programowanie komponentowe 5

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Aplikacje w środowisku Java

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Tworzenie aplikacji w języku Java

Laboratorium Programowania Kart Elektronicznych

Wykład 8: Obsługa Wyjątków

Angielski bezpłatne ćwiczenia - gramatyka i słownictwo. Ćwiczenie 1


RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE

Google Web Toolkit. Piotr Findeisen

Oprogramowanie i wykorzystanie stacji roboczych. Wykład 4

Programowanie obiektowe

JavaFX. Programowanie Obiektowe Mateusz Cicheński

Wykład 4: Klasy i Metody

Git, Bitbucket, IntelliJ IDEA

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Transkrypt:

Sztuczna inteligencja przyszłość czy teraźniejszość? Emil Dąbrowski emil.dabrowski@itexpertgroup.eu 13.10.2016

Materiały dodatkowe Materiały na Meetup: http://www.emildabrowski.pl Meetup Lub https://sites.google.com/emildabrowski.pl/www/meetup Więcej o tworzeniu aplikacji z wykorzystaniem Google Cloud API: http://blaszkiewicz.com.pl/#/art/gas_ai 2

3

The last 10 years were about building a mobile-first world, turning smartphones into remote controls for our lives. But in the next 10 years, the shift will be towards a world that is AI-first, a world where computing becomes universally available be it at home, at work, in the car, or on the go and interacting with all of these surfaces becomes much more natural, intuitive, and intelligent. Sundar Pichai CEO Google Inc. 4

Czym jest Google CloudML? Machine Learning Spectrum Bez parametryzacji (funkcjonalnosc Bazuje na API) Pelna platforma i parametryzacja Machine Learning APIs Cloud Machine Learning Deweloper aplikacji TensorFlow Naukowiec / Badacz 5

Wstępnie przygotowane modele Google CloudML W pełni przygotowane modele w Google Cloud dostarczające deweloperom gotowe narzędzia dostępne poprzez usługi REST. GA Cloud Translate GA Cloud Vision Beta Cloud Natural Language 6 Beta Cloud Speech Bądź na bieżąco..

Google Translate API Tłumaczenie wielu języków Detekcja języka Prosta integracja 90 języków, od Afrykańskiego do Zulu. Translate API potrafi automatycznie identyfikować języki z bardzo dobrą trafnością. Łatwy w użyciu Google REST API. Nie ma potrzeby pobierania tekstu z dokumentu, wystarczy wysłać dokument HTML aby otrzymać przetłumaczony tekst. Wykorzystywany z innymi uslyugami, pozwala na tłumaczenie pomiędzy tysiącami par języków. 7 Tłumaczenia wysokiej jakości Wysokiej jakości tłumaczenia przesuwające granice możliwości tłumaczenia maszynowego. Ciągłe usprawnianie systemu poprawia tłuaczenia i wprowadza nowe języki.

Google Translate - przykład Python # Import Google Cloud client library # Tłumaczenie na angielski from google.cloud import translate translation = translate_client.translate(text, target_language=target) # Twój Translate API key # Wyświetlenie wyniku api_key = 'YOUR_API_KEY' print('text: {}'.format(text)) print('translation: {}'.format( translation['translatedtext'].encode('utf-8'))) # Inicjalizacja klienta translate_client = translate.client(api_key) # Tekst do tłumaczenia text = 'Polski Meetup jest najlepszy!' # Język docelowy target = 'en' 8

Google Translate - przykład Java // import Google Cloud client library // tłumaczenie import com.google.cloud.translate.translate; Translation translation = translate.translate( import com.google.cloud.translate.translate.translateoption; text, import com.google.cloud.translate.translateoptions; TranslateOption.sourceLanguage("pl"), import com.google.cloud.translate.translation; TranslateOption.targetLanguage("en") ); public class TranslateSample { public static void main(string... args) throws Exception { // wydruk wyniku System.out.printf("Text: %s%n", text); // inicjalizacja klienta System.out.printf("Translation: %s%n", translation.translatedtext()); Translate translate = } TranslateOptions.builder().apiKey("YOUR_API_KEY").build().service(); } // tekst do tłumaczenia String text = Polski Meetup jest najlepszy!"; 9

Google Cloud Vision API Faces Twarze, punkty na twarzy, emocje Label Wykrywanie przedmiotów OCR Wykrywanie tekstu dla ponad 10 języków Logos Rozpoznawanie znaków firmowych Safe Search Wykrywanie treści dla dorosłych, brutalnych, medycznych Landmarks Wykryanie znanych punktów i wiodących kolorów 10

Google Cloud Vision API 11

Google Cloud Vision API 12

Cloud Vision API - przykład Apps Script var annotateurl = 'https://vision.googleapis.com/v1/images:annotate'; var annotateresponse = UrlFetchApp.fetch(annotateUrl, { "headers": { Authorization: 'Bearer ' + service.getaccesstoken() }, "method" : "post", "contenttype" : "application/json", "payload" : JSON.stringify(request, null, 2) }); var json = JSON.parse(annotateResponse.getContentText()); return json; } } function getpicturedescription(file,detectiontype) { var service = getauthservice(); if (service.hasaccess()) { var bytes = Utilities.base64Decode(file.substr(file.indexOf('base64,')+7)) var encodedimage = Utilities.base64EncodeWebSafe(bytes); var request = { "requests":[ { "image":{ "content": encodedimage }, "features":[ { "type": detectiontype, "maxresults":50 } ] } ] } 13

Google Cloud Natural Language API* Customer insights in Unstructured Data Pełny obraz zachowań klientów, ich emocji i intencji z wykorzystaniem strukturalnych lub niestrukturalnych danych. Nietypowe klasyfikatory i grafy relacji Klasyfikacja dokumentów i tworzenie grafów relacji dla danych pochodzących z różnych źródeł (socialmedia, informacje prasowe, itp.) Silne narzędzie tłumaczące i rozmowy wideo w połączeniu ze Speech API i Vision API. Obsługuje angielski, hiszpański i japoński * - obsługuje j. angielski, hiszpański i japoński. Inne języki wkrótce. Multimedia i zróżnicowanie językowe 14 Oparty o Deep Learning Wykorzystywane w wewnętrznych rozwiązaniach Google służących do analizy języków (np. Google Search, Google Assistant).

Google Cloud Natural Language API 15

Natural Language API - przykład Python service_request = service.documents().annotatetext( body= { "document":{ "type":"plain_text", "content":"the windy, cold weather was unbearable this winter." }, "features":{ "extractsentences":false, "extracttokens":true, "extractentities":true, "extractdocumentsentiment":true }, "encoding_type":"utf8" }) response = service_request.execute() print(json.dumps(response)) 16

Google Cloud Speech API Ponad 80 języków Ponad 80 języków i ich wariantów. Największy system rozpoznawania głosu na świecie. Redukcja zakłóceń Nie ma konieczności usuwania dźwięków tła przed przekazaniem do analizy. 17 Oparty na Machine Learning Zwraca tekst w czasie rzeczywistym Najbardziej zaawansowane algorytmy uczenia się zbudowany na sieciach neuronowych. Dzięki temu system sam się doskonali im częściej jest używany. Speech API zwraca wyniki częściowe tak szybko jak są dostępne lub w postaci gotowego skryptu rozmowy.

Google Cloud Speech API 18

Google Cloud Speech API - przykład Python with open(speech_file, 'rb') as speech: speech_content = base64.b64encode(speech.read()) service = get_speech_service() service_request = service.speech().recognize( body={ 'initialrequest': { 'encoding': 'LINEAR16', 'samplerate': 16000 }, 'audiorequest': { 'content': speech_content.decode('utf-8') } }) response = service_request.execute() print(json.dumps(response)) 19

Czym jest Google CloudML? Machine Learning Spectrum Bez parametryzacji (funkcjonalnosc Bazuje na API) Pelna platforma i parametryzacja Machine Learning APIs Cloud Machine Learning Deweloper aplikacji TensorFlow Naukowiec / Badacz 20

21

Google Cloud Machine Learning API 22

Google Cloud Machine Learning API Wejście Sieci neuronowe Wyjście 23

Google Cloud Prediction API - praktyka 24

Google Cloud Prediction API - kod Apps Script function insert() { var modelspreadsheet = getmodelspreadsheet(); try { var spreadsheet = SpreadsheetApp.openById(modelSpreadsheet) var instances = spreadsheet.getsheets()[0].getrange(1, 1, spreadsheet.getsheets()[0].getlastrow(), 2).getValues(); var traininginstances = []; for (var i = 0; i < instances.length; ++i) { var output = instances[i][0]; var csv_instance = instances[i].slice(1); traininginstances.push({'output': output, 'csvinstance': csv_instance}); } function predict(predictionstring) { var prediction = Prediction.Trainedmodels.predict( { input: { csvinstance: [predictionstring] } }, project, projectid ); var resource = {'id': projectid, 'traininginstances': traininginstances}; var insert = Prediction.Trainedmodels.insert(resource, project); return prediction ; } } catch(e) { Logger.log(e) } } 25

Google Cloud Prediction API 26

27

Dziękujemy za uwagę WWW.ITEXPERT.PL Kontakt Emil Dąbrowski emil.dabrowski@itexpertgroup.eu