S AI bude každodenní život jako ze sci-fi

25. 4. 2019

Sdílet

Autor: Accenture
Nový svět, jaký si před 100, nebo dokonce ještě před 50 lety nedokázal nikdo ani představit, přišel plíživě a nenápadně. Proměna byla rychlá, a dosud je, ale přitom nám přijde poměrně přirozená, příjemná: je stavěná na potěšení jednotlivce, tvrdý entertainment, a je to poznat.

Je pondělí. Ráno vstaneme, probudí nás chytrý reproduktor s konverzační AI, pravděpodobně půjde o Alexu nebo Assistantku. Řekne nám zprávy, počasí, stav na silnicích a co máme dnes naplánováno. V automatu si vybere typ kávy, vložíme kapsli a téměř bez práce si můžeme vychutnat ranní životabudič. Snídaně není o nic složitější, chytré hodinky nám řeknou, co bychom si mohli dát a lednice ukáže na displeji, co v ní je, ani ji nemusíme otevírat. Ale pokud máme trochu času nazbyt a nechce se nám nic připravovat, můžeme si nechat jídlo dovézt, je slušná šance, že do 15 minut máme jídlo před domem. Klidně pro celou rodinu, manželku a děti, to jak je libo.

Vyrazíme do práce. Automaticky se nám sepne chytrý alarm, zámek, garáž, automobil už je nastartován a je zatopeno nebo puštěna klimatizace – i to za nás zvládne propojená domácnost, která se vším průběžně komunikuje. Nasedneme do našeho vozu, samozřejmě elektrického a samořiditelného, a to nás odveze do práce. Mezitím si při čekání vyřídíme pár e-mailů, můžeme si také dopřát drobný zákusek nebo ještě půl hodinky slastného spánku, chceme-li.

 

Revoluce na pracovišti

V práci se nemusíme zatěžovat žádnými kartičkami pro vstup, vejdeme zkrátka pomocí čtečky oční duhovky. Dnes je ale den zvýšené bezpečnosti, takže systém chce po nás dvoufázové ověření. Použijeme proto ještě rozpoznání obličeje, nebo, pokud se nám chce, tak použijeme otisk prstu; biometrie je všudypřítomná, i pomocí ní případně platíme či podepisujeme e-maily. Vše je v pořádku a vstupujeme na pracoviště. Tam si vybereme, kam půjdeme podle toho, co potřebujeme dělat. Jestli je to práce v týmu, vydáme se do prostorného open-space, nikoliv hlavního, ale jednoho z oddělených, kde můžeme pracovat a diskutovat na řešeních a přitom nebýt rušeni shonem desítek dalších kolegů.

Anebo potřebujeme vyřídit pár telefonátu a k tomu trochu klidu a hudby ve sluchátkách na pořádnou práci. Není nic snazšího než si okamžitě, pár dotyky tabletu, zamluvit na pár hodin kancelář, kde budeme mít klid na soustředění.

Nebo po pár hodinách práce zjistíme, že jsme dnes rychle hotoví. Můžeme jít domů, ale ne vždy je home office možný – potřebujeme třeba být v blízkosti kanceláře pro pohotovosti, nebo očekáváme další pracovní materiál v blízké době. Přesuneme se proto do odpočinkové místnosti, máme tu kuchyňku, pohovky a houpací sítě, společenské hry, stolní fotbálek a tak podobně.

Během práce jsme vlastně úplně digitální. Konferenční hovory uskutečňujeme skrze laptop, mobilní telefon nebo i hologramové zařízení, papír a tužka jsou už jen dávnou vzpomínkou. Rutinní, nudnou prací se zabývat nemusíme, tu za nás dělá robotická automatizace procesů. Pokud potřebujeme řídit ostatní nebo pracovat manuálně a neustále dostávat příjem dat, máme samozřejmě pokročilé brýle smíšené reality. Vypadají skoro jako běžné dioptrické brýle, jsou možná o maličko těžší, ale zato nám umožňují permanentní a bezproblémové připojení k internetu.

Hurá, práce končí. Jedeme domů, po cestě můžeme třeba vyzvednout děti ze školy či kroužků, nebo si zajít na večeři, to dle libosti; pokud potřebujeme něco zaplatit, máme na to smartphone. O nic se starat nemusíme, stačí to zadat automobilu. Vjede samo až do garáže, ta se otevře a zavře, vypne se alarm, odemknou dveře domu. Vejdeme, zabouchneme, rozsvítí se nám světlo, virtuální asistentka poví večerní zprávy a zeptá se, jaký jsme měli den. A třeba nám pustí naši oblíbenou hudby, dle nálady, tu samozřejmě dokáže chatbot pomocí pokročilého rozpoznávání přirozeného jazyka dobře poznat.

 

Budoucnost je teď

Tak schválně, je to pracovní den budoucnosti? V něčem možná: konverzační AI ještě nejsou tak chytré, na samořiditelné vozy si ještě roky počkáme, propojená domácnost nefunguje vždy bezproblémově, biometrické zabezpečení se teprve šíří (byť velmi rychle), ne všechna pracoviště jsou ještě tak pokročilá (stále jde spíše o výjimky a převážně u technologických firem), RPA není tak daleko a AR brýle se teprve na podobnou úroveň dostávají (nové HoloLens ale už nejsou příliš daleko).

Jinak ale nejde o nic nepředstavitelné, nic, co bychom neměli nebo na čem by se už reálně nepracovalo. Lednice (už to je obří pokrok z první poloviny 20. století), všudypřítomné displeje, vzájemné propojení skrze internet, virtuální asistentky, okamžité informace kdykoliv a kdekoliv, revoluce pracovního prostředí, rychlé dovážky jídel a prakticky čehokoliv, to je jen malá část celého výčtu, která se v běžném dni objevuje.

Jistě, ne u všech, ne vždy, ne všude. Ale to je jen otázkou času.

Je čas si proto připustit, že žijeme v budoucnosti. Podívejte se třeba na Star Trek, ze 70., 80. a 90. let; tehdejší způsob zobrazování nejmodernějších technologií nám dnes přijde často k smíchu, a to, co ne – tablety, dotykové displeje, okamžité hovory na obrovské vzdálenosti – to už tu máme. Je to tak: už nám to ani nepřijde jako sci-fi, protože je to pro nás každodenní realita.

Ani nezmiňuji vyvíjené věci typu chytrých měst, pokročilých robotů od SoftBank nebo Boston Dynamics a podobně. Snad jen ta létající auta zatím chybí, ale i na tom už třeba Uber pracuje.

Budoucnost přišla velmi rychle, přímo bleskově. Rok starý chytrý telefon střední třídy má takový výpočetní výkon jako průměrný počítač před deseti lety – no, to přeháním, reálně o dost vyšší.

Budoucnost je teď.

zabbix_tip

 

Článek původne vyšel na serveru AIworld.cz

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »