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