Microsoft kupił SwiftKey – dlaczego?

Kiedyś Microsoft próbował sprzedać ci produkt, którego jeszcze nie miałeś. Obecnie, to Microsoft kupuje produkty, których… używasz od dawna. Tak stało się z pocztą Acompli, kalendarzem Sunrise, Minecraftem czy Wunderlistem.

Niektórzy redaktorzy, w tym Tom Warren (The Verge) i Paul Thurrott, obwieścili śmierć mobilnego Windowsa i sugerują odpuszczenie sobie tej platformy. Bez względu na to czy zgadzamy się z tą diagnozą, plan B Microsoftu jest nader wyraźny – wyraźne zaistnienie na wszystkich platformach ze swoim oprogramowaniem i usługami. Głównie na iOS i Androidzie. A może nie jest to plan B tylko plan A, a Windows 10 Mobile jest po prostu sztucznie utrzymywany przy życiu?

Kwestia zarabiania na darmowych usługach i aplikacjach w przypadku Microsoftu to temat-rzeka, ale chyba dużo ciekawsze są kwestie techniczne i technologiczne. Po co Microsoft kupił firmę odpowiedzialną za SwiftKey, czyli najpopularniejszą klawiaturę na Androida i iOS? Przecież klawiatura dla WP8 z pisaniem gestami (word flow) była rewelacyjna i uznawana za jedną z najlepszych klawiatur dla urządzeń mobilnych? To prawda. Jednak nie wiedzieć czemu, klawiatura dla W10 Mobile to katastrofa jeśli chodzi o działanie autokorekty i autopodpowiedzi. Wynika to częściowo z zintegrowana klawiatur mobile i desktop, ale nie tłumaczy to aż tak fatalnego jej działania.

Wszystkie znane na rynku klawiatury z autokorektą i podpowiedziami działają w oparciu o model tak zwanych n-gramów. N-gramy opierają się na statystykach i służą do przewidywania kolejnego elementu sekwencji. Zastosowanie n-gramów wymaga zgromadzenia odpowiednio dużego zasobu danych statystycznych – korpusu (w tym przypadku ogromnych zestawów tekstów i tekstów wpisywanych przez użytkownika). Utworzenie modelu n-gramowego zaczyna się od zliczania wystąpień sekwencji o ustalonej długości n w istniejących zasobach językowych. Każdy użytkownik, poprzez wprowadzanie własnych tekstów na klawiaturze tworzy własny model, co pozwala na dodatkową „personalizację” klawiatury. Ze względu na ograniczenia wydajnościowe, klawiatury mobilne ograniczają się do modeli 2-gramowych, co ograbia je z jakiegokolwiek kontekstu i obiera się jedynie na ilościowej metodzie statystycznej. Jakkolwiek dobry nie byłby model, takie rozwiązanie nigdy nie będzie wystarczająco „inteligentne”, żeby „wiedzieć” co mamy na myśli i w jakim kontekście tworzymy daną wypowiedź.

Tak było do października 2015 roku, kiedy to SwiftKey zaprezentował klawiaturę Neural Alpha opartą na głębokich sieciach neuronowych. W przeciwieństwie do modelu opartego na n-gramach, sieć neuronowa wyłapuje zależności między wyrazami , grupując je w klastry, co pozwala na wyświetlanie bardziej „kontekstowych” podpowiedzi uwzględniających więcej niż kilka poprzednich słów w sekwencji. A to jest tylko pierwszy etap. W przyszłości klawiatura taka może podpowiadać nie tylko pojedyncze słowa, ale całe zdania, w zależności od kontekstu, w jakim znajduje się użytkownik.

Tylko po co to wszystko Microsoftowi? Podstawowa wersja SwiftKey jest i będzie darmowa, a zakupy wewnątrz aplikacji nigdy nie staną się zauważalnym źródłem dochodu dla Microsoftu. Czym zatem płacimy za tą darmowość? Jak zwykle – danymi. Anonimowymi telemetrycznymi danymi, które trafiają do coraz szerszego słownika wyrażeń SwiftKew (wkrótce Microsoftu), który to słownik na bieżąco wykorzystywany jest do uczenia sieci neuronowych wykorzystywanych w klawiaturach nowego typu. A potencjalna ilość danych płynących z klawiatur miliarda urządzeń mobilnych będzie bezprecedensowa. A już teraz baza użytkowników SwiftKey jest wielka – a pod wodzą Microsoftu może tylko jeszcze bardziej urosnąć. Taka baza danych to bezcenny skarb dla wszelkich kolejnych projektów uczenia maszynowego związanych z autokorektą, predykcją tekstu, tłumaczeniem wyrażeń na inne języki czy rozpoznawaniem wzorców.

SwiftKey pozostanie dostępny i utrzymywany dla androida i iOS, a w najbliższych miesiącach Microsoft ma powiedzieć więcej o integracji tej klawiatury z Windowsem. Nie jest jasne czy będzie to alternatywa dla domyślnej klawiatury windowsowej czy jednak całkowite jej zastępstwo. Trzymam kciuki za tą drugą opcję – szczeólnie, że zespół SwiftKey dołączył do działu Microsoft Research (MSR), co wyraźnie wskazuje na wielkie ambicje tego projektu związane z uczeniem maszynowym i algorytmami predykcyjnymi. A wszystko po to, żeby w ciągu 5 lat, klawiatury dotykowe dzięki autopodpowiedziom stały się szybsze niż konwencjonalne klawiatury fizyczne. A to byłby przełom. Wprowadzanie dłuższych fragmentów tekstu to jeden z ostatnich bastionów urządzeń z fizyczną klawiaturą dla przeciętnego użytkownika. Jeśli ta przewaga zniknie, smartfony i pozostałe urządzenia dotykowe jeszcze bardziej zdominują rynek, mając coraz szersze zastosowania (pół) profesjonalne.

neural-net-infographic

źródło: Microsoft