Programiranje

Projekt Oxford: Microsoft ponuja API-je za inteligentne aplikacije

Microsoft je lansko pomlad napovedal Project Oxford, niz SDK-jev in API-jev, ki razvijalcem omogočajo, da gradijo "inteligentne" aplikacije, ne da bi se morali učiti strojnega učenja. Z uporabo Oxfordovih API-jev za obraz, govor in vid lahko razvijalci ustvarijo aplikacije, ki prepoznajo poteze obraza, analizirajo slike ali izvedejo prevajanje govora v besedilo ali besedila v govor.

V intervjuju z urednikom Large Paul Krill je Microsoftov Ryan Galgon, višji vodja programa, odgovoren za platformo Project Oxford in tehnologije, spregovoril o ciljih, ki stojijo za Oxfordom, in poudaril njegov potencial v internetu stvari.

: Kdo gradi Oxfordove aplikacije? Komu je namenjen Oxford?

Galgon: Veliko ljudi je prišlo in se prijavilo za storitve API. Natančne številke [niso] nekaj, v kar se lahko spuščam, vendar smo ustvarili veliko računov Azure, veliko prijav pod našo tržnico Microsoft Azure Marketplace. Ljudje brcajo pnevmatike za storitve, pa tudi posegajo po večji uporabi storitev. Trenutno so na voljo mesečno kot omejena brezplačna stopnja in si prizadevamo, da bi to odprli, saj smo dobili povratne informacije o spremembah, ki jih želijo razvijalci vnesti v API-je in modele.

Vse je večplastno, v smislu, da gre za nabor spletnih storitev, do katerih se dostopa predvsem prek vmesnika REST API. Vse, kar lahko kontaktira spletno mesto, lahko pokliče te zaledne storitve. Ponujamo nabor SDK-jev, ki zavijejo tiste REST klice in jih olajšajo za uporabo na odjemalcih, kot so Android, Windows in iOS. Storitve lahko pokliče kar koli, kar lahko opravi spletni klic HTTP.

: Ali predvidevate, da se Oxford uporablja predvsem v mobilnih napravah ali na namizjih Windows?

Galgon: To bo predvsem mešanica verjetno mobilnih naprav in naprav IoT. V smislu, da ko ljudje uporabljajo namizja, velika večina uporab, ki jih vidim, sediš tam, imaš tipkovnico in miško in to vrsto vnosa. Ko pa imate mobilni telefon, posnamete fotografije, video in zvok. To je tako lažje in naravno zajeti z majhno napravo. [Uporabljena bo tehnologija Project Oxford], kjer bodo prevladujoči vhodni primeri naravni podatki, ne le številke, ampak nekakšen vizualni ali zvočni tip podatkov.

: Povejte nam več o teh API-jih. Katere stvari lahko naredijo razvijalci?

Galgon: Ker želimo doseči čim več razvijalcev, smo resnično vložili veliko truda, da so zelo enostavni za uporabo [za] stvari, kot so zaznavanje obrazov ali računalniški vid, kategorizacija slik. Te stvari so usposobljene in modelirane, gradijo jih ljudje z dolgoletnimi izkušnjami na tem področju in ne želimo, da bi morali razvijalci postati strokovnjaki za računalniški vid. Resnično smo poskušali reči: "Poglejte, zgradili bomo najboljši model, ki ga lahko zgradimo, vam ga dali na voljo in vam ga omogočili v treh vrsticah kode."

Ne morem govoriti o tem, kako zunanji partnerji gledajo na uporabo Oxfordovih API-jev, toda glavni, pri katerem je delal Microsoft, ki ste ga morda že videli, je prvo spletno mesto How-old.net za napovedovanje starosti in spolov. Potem smo imeli TwinsorNot.net, ki je dobil dve fotografiji, kako podobni so ti ljudje? To sta bila dobra primera Face API-jev. Zadnji, ki je uporabil Face API in nekatere API-je za govor, je bil projekt Windows 10 IoT, v katerem je bilo napisanih nekaj objav v blogu, kjer ste lahko z obrazom odklenili vrata in se pogovarjali z vrati - ali ključavnico, v tem primeru. Mislim, da so to trije primeri, na katerih je Microsoft delal, da bi vam pokazal, da gre za vrsto aplikacije, ki jo je mogoče zgraditi in jo deliti z drugimi.

: Zakaj v okviru teh REST API-jev Oxford označuje?

Galgon: Jedro so strojno naučeni modeli, ki smo jih zgradili za stvari, kot je govor v besedilo. Ne glede na to, ali do njega dostopate prek API-ja REST - ali z govorom v besedilo, lahko do njega dostopate tudi prek povezave s spletno vtičnico - čarobna ali mogočna stvar tega modela, ki lahko sprejme zvok nekoga, ki govori in jezik da je v in to prevedite v besedilno obliko. To je glavna stvar, zaradi katere Oxford klopi kot celoto.

: Zakaj je Project Oxford ločen od projekta strojnega učenja Azure?

Galgon: V Azure Machine Learning je ena glavnih komponent Azure Machine Learning Studio, kjer lahko ljudje vstopijo s svojimi podatki, izdelajo eksperiment, usposobijo svoj model in nato gostijo ta model. Z Oxfordom je to vnaprej zgrajen model, ki ga ima Microsoft, model, ki ga bomo še naprej izboljševali in ljudem omogočamo, da ga uporabljajo prek teh vmesnikov REST.

: Kakšno poslovno rabo v podjetju vidite pri projektu Oxford? Kakšen je poslovni primer za aplikacije iz Oxforda?

Galgon: Trenutno ni nobenih konkretnih partnerjev, o katerih bi se res lahko pogovarjal, vendar mislim, da je eden od primerov, za katere smo bili deležni velikega zanimanja, kjer osebno vidim veliko primerov uporabe, internetna stvar - povezane naprave. Ko pogledam, kako ljudje gledajo na gradnjo naprav IoT, nimate tipkovnice in miške in pogosto celo pravega monitorja, povezanega z vsemi temi napravami, vendar je enostavno natakniti mikrofon in je precej enostavno da bi tudi tam prilepili kamero. Če kombinirate nekaj podobnega kot govorni API-ji in LUIS (Language Understanding Intelligent Service), potem lahko naprava, ki ima samo mikrofon in nima nobenega drugega načina vnosa, z njo zdaj lahko pogovorite, povejte, kaj želite, prevedite v nabor strukturiranih dejanj in jih uporabite v zadnjem delu. Tam mislim, da bomo videli veliko primerov uporabe za Oxfordove API-je.

: Omenili ste iOS in Android. Kakšen je bil prevzem na teh platformah?

Galgon: Z izdelavo API-jev RESTful in zagotavljanjem teh ovojnic zanje smo zagotovo opazili, da ljudje te ovitke prenašajo in jih uporabljajo. Toda na koncu se zgodi: "Tukaj je ovitek jezika Java okoli spletnega klicatelja", "Tu je ovitek Objective-C okoli spletnega klica." Nimamo veliko vpogleda v to, katera naprava natančno kliče.

: Ali bo Oxford odprtokoden?

Galgon: Za osrednje modele ne načrtujemo odprtega vira in o tem nimam ničesar, kar bi sčasoma posodabljali. SDK-ji, ki jih ponujamo, ker so ovijalci okoli tistih klicev REST, vsebujejo izvorno kodo in jo lahko danes prenesete s spletnega mesta za vsakogar. Ampak spet, to je skriti ovoj o stvareh in na forumih MSDN smo dejansko videli ljudi, ki so okoli njega ponujali delčke kode v različnih jezikih.

: Kako namerava Microsoft zaslužiti z Oxforda?

Galgon: Vsi API-ji na trgu so danes brezplačni za omejeno uporabo, zato mesečno prejmete 5000 transakcij API-jev. To je edini načrt, ki ga imamo zdaj na voljo. V prihodnosti bomo uvedli plačljive načrte na podlagi uporabe API-jev.

: Kaj je naslednje za Oxford?

Galgon: Od tod gremo v resnici na tri področja. Prvo področje je posodobitev in izboljšanje obstoječih modelov. Od razvijalcev smo prejeli povratne informacije o tem, kako eden od API-jev morda ne bo deloval dobro z nekaterimi vrstami slik. Tam bomo izboljšali osnovni model.

Ena od drugih stvari, ki jih bomo storili, je, da bomo še naprej širili število funkcij, ki jih vrnejo modeli. Danes vam API za obraz ponuja napovedano starost in predvideni spol. Videli smo že veliko prošenj, da bi lahko prepoznali drugo vsebino na slikah.

Tretje področje je razširitev portfelja API-jev, ki jih imamo. Danes imamo štiri, a vsekakor še nismo končali. Menimo, da ves prostor, ki ga želimo zagotoviti, ali orodja, ki jih želimo zagotoviti, še ni popoln. Nadaljevali bomo z dodajanjem novih API-jev, ki se lahko ukvarjajo z različnimi vrstami podatkov ali zagotavljajo zelo različne vrste naravnega razumevanja podatkov, kot jih ponujamo danes.