Programmering

Project Oxford: Microsoft serverer API'er til intelligente apps

Microsoft annoncerede i forrige forår Project Oxford, et sæt SDK'er og API'er, der giver udviklere mulighed for at opbygge "intelligente" applikationer uden at skulle lære maskinindlæring. Ved hjælp af Oxfords ansigts-, tale- og vision-API'er kan udviklere oprette applikationer, der genkender ansigtsegenskaber, analyserer billeder eller udfører tale-til-tekst- eller tekst-til-tale-oversættelser.

I et interview med redaktør hos Large Paul Krill talte Microsofts Ryan Galgon, senior programleder, der er ansvarlig for Project Oxford-platformen og teknologierne, om målene bag Oxford og understregede dets potentiale på tingenes internet.

: Hvem bygger Oxford-applikationer? Hvem er Oxford til?

Galgon: Vi har fået mange mennesker til at tilmelde sig API-tjenesterne. De nøjagtige tal [er ikke] noget, jeg kan komme ind på, men vi har fået oprettet masser af Azure-konti, masser af tilmeldinger via vores Microsoft Azure Marketplace. Folk sparker dækkene for tjenesterne og strækker sig ud for at gøre højere brug af tjenesterne. Lige nu tilbydes de alle som et begrænset gratis niveau på månedsbasis, og vi arbejder på at åbne det, da vi har fået feedback om, hvilke ændringer udviklere ønsker at have foretaget i API'erne og modellerne.

Det hele er platformoverskridende, i den forstand at det er et sæt webtjenester, der primært tilgås via en REST API-grænseflade. Alt, der kan kontakte et websted, kan ringe til disse back-end-tjenester. Vi leverer et sæt SDK'er, der omslutter disse REST-opkald og gør dem lettere at bruge på klienter som Android og Windows og iOS. Alt, der kan foretage et HTTP-webopkald, kan ringe til tjenesterne.

: Forudser du, at Oxford primært bruges på mobile enheder eller på Windows-desktops?

Galgon: Det vil primært være en blanding af sandsynligvis mobile enheder og IoT-enheder. I den forstand, at når folk bruger desktops, så ser langt de fleste anvendelser, jeg sidder der, du har tastatur og mus og den type input. Men når du har en mobiltelefon, tager du billeder og video og lyd. Det er så meget lettere og naturligt at fange det med en lille enhed. [Projekt Oxford-teknologi vil blive brugt] hvor det dominerende input-tilfælde vil være en naturlig data, ikke kun tal, men en slags visuel eller lyddatatype.

: Fortæl os mere om disse API'er. Hvad er nogle af de ting, udviklere kan gøre?

Galgon: Fordi vi ønsker at nå ud til så mange udviklere som muligt, har vi virkelig lagt meget arbejde i at gøre dem meget nemme at bruge [til] ting som ansigtsgenkendelse eller computersyn, billedkategorisering. Disse ting er trænet og modelleret, bygget af mennesker med mange års dyb forskningserfaring på disse steder, og vi vil ikke have, at udviklere skal blive eksperter inden for computersyn. Vi har virkelig forsøgt at sige, "Se, vi skal bygge den bedste model, vi kan bygge, og gøre den tilgængelig for dig og gøre den tilgængelig inden for tre kodelinjer for dig."

Jeg kan ikke tale om, hvordan eksterne partnere ser på at bruge Oxford API'er, men de vigtigste, som Microsoft har arbejdet med, som du måske har set, den første var How-old.net-webstedet til forudsigelse af aldre og køn. Så havde vi TwinsorNot.net, og der blev givet to fotos, hvor ens er disse mennesker? Disse var begge gode eksempler på Face API'er. Den sidste, der brugte Face API og nogle tale-API'er, var et Windows 10 IoT-projekt, som et par blogindlæg blev skrevet om, hvor du kunne låse en dør op med dit ansigt og tale med døren - eller låsen, i det tilfælde. Jeg tror, ​​det er tre eksempler, Microsoft har arbejdet på for at vise dig her er en type applikation, der kan bygges og deles dem med andre mennesker.

: Hvad får Oxford til at krydse under disse REST API'er?

Galgon: Kernen er maskinlærte modeller, som vi byggede til ting som tale til tekst. Uanset om du får adgang til det via en REST API - eller med tale-til-tekst, kan du også få adgang til det via en internetstikforbindelse - det magiske eller den magtfulde ting der er denne model, der kan tage lyd af nogen, der taler og et sprog at det er i og oversætte det til tekstformat. Det er det vigtigste, der får Oxford til at krydse som en helhed.

: Hvorfor er Project Oxford adskilt fra Azure Machine Learning-projektet?

Galgon: I Azure Machine Learning er en af ​​hovedkomponenterne Azure Machine Learning Studio, hvor folk kan komme ind med deres data, opbygge et eksperiment, træne deres egen model og derefter være vært for den model. Med Oxford er dette en forudbygget model, som Microsoft har, en model, som vi fortsat vil forbedre i fremtiden, og vi lader folk gøre brug af den model over disse REST-grænseflader.

: Hvilken type forretningsbrug bruger du til Project Oxford? Hvad er business case for Oxford-applikationer?

Galgon: Der er ingen specifikke partnere, som jeg virkelig kan tale om på dette tidspunkt, men jeg tror, ​​at en af ​​de sager, vi har set stor interesse for, hvor jeg personligt ser mange brugssager, er når det kommer til tingenes internet- tilsluttede enheder. Når jeg ser på den måde, folk kigger på at bygge IoT-enheder, har du ikke et tastatur og en mus og ofte endda en rigtig skærm forbundet med alle disse enheder, men det er let at holde en mikrofon derinde, og det er ret nemt at sætte et kamera der også. Hvis du kombinerer noget som tale-API'erne og LUIS (Language Understanding Intelligent Service), så en enhed, der kun har en mikrofon og ingen anden måde at indtaste, kan du nu tale med det, fortælle det, hvad du vil gøre, oversætte det til et sæt strukturerede handlinger, og brug det i bagenden. Det er her, jeg tror, ​​vi kommer til at se en masse brugssager til Oxford API'er.

: Du nævnte iOS og Android. Hvad har været optagelsen på disse platforme?

Galgon: Ved at gøre API'erne RESTful og levere disse indpakninger til dem, har vi bestemt set folk downloade disse indpakninger og bruge dem. Men i slutningen af ​​dagen tilfældigvis er det: "Her er en Java-sprogindpakning omkring en webopkald," "Her er en Objective-C-indpakning omkring et webopkald." Vi har ikke meget indblik i, hvad der er den nøjagtige enhed, der foretager opkaldet.

: Vil Oxford være open source?

Galgon: Vi planlægger ikke open-sourcing af kernemodellerne, og det har jeg ikke noget at dele om, fordi vi fortsætter med at opdatere modellerne over tid. De SDK'er, vi leverer, da de er indpakket omkring disse REST-opkald, at kildekoden er der og kan downloades til alle i dag fra hjemmesiden. Men igen, det er en skjult indpakning i tingene, og vi har faktisk set mennesker i MSDN-fora, der har leveret kodestykker på forskellige sprog omkring det.

: Hvordan planlægger Microsoft at tjene penge på Oxford?

Galgon: API'erne på markedet er alle gratis i dag til begrænset brug, så du får 5.000 API-transaktioner om måneden. Det er den eneste plan, vi har til rådighed nu. I fremtiden vil vi implementere betalte planer baseret på brugen af ​​API'erne.

: Hvad er det næste for Oxford?

Galgon: Hvor vi går herfra er virkelig tre områder. Det første område handler om opdatering og forbedring af de eksisterende modeller. Vi fik feedback fra udviklere [om, hvordan] en af ​​API'erne muligvis ikke fungerer godt sammen med visse typer billeder. Vi forbedrer kernemodellen der.

En af de andre ting, vi skal gøre, er, at vi fortsætter med at udvide antallet af funktioner, der returneres fra modellerne. I dag giver Face API dig forudsagt alder og forudsagt køn. Vi har set mange anmodninger om at kunne genkende andet indhold i billeder.

Det tredje område er, at vi udvider den portefølje af API'er, vi har. Vi har fire i dag, men vi er bestemt ikke færdige. Vi tror ikke, at hele det rum, vi vil tilbyde, eller de værktøjer, vi vil levere, er komplette endnu. Vi fortsætter med at tilføje nye API'er, der kan håndtere forskellige datatyper eller kan give meget forskellige typer naturlig dataforståelse, end hvad vi giver i dag.