Dużo matematyki i żadnej magii: jak właściwie działają asystenci głosowi

Asystent Zuckerberga i system operacyjny „Samantha”: dwa rodzaje systemów głosowych

Pracuję w laboratorium

reprezentacja danych w uczeniu maszynowym.Na uniwersytecie prowadzę zajęcia z dwóch bloków przedmiotów: jeden z nich związany jest ze stosowanym uczeniem maszynowym i sztuczną inteligencją. Drugi dotyczy wyszukiwania i jego odmian. Na przecięciu tych tematów leży obszar, o którym spróbuję dzisiaj porozmawiać.

Są dwa sposoby patrzenia na to, co jestasystent głosowy. Wyobraź sobie, że masz wirtualnego lokaja. Na przykład około pięć lat temu Mark Zuckerberg stworzył w swoim domu inteligentnego asystenta, który nazwał go „Jarvis”. Wiedział, jak wpuszczać ludzi do domu, otwierać i zamykać drzwi, zasłony, włączać światło. Inne przykłady takich urządzeń to "Alexa" i "Alice", żyją w urządzeniu i są w stanie poprawić życie. Mogą sterować piekarnikiem, pralką, odkurzaczem i tak dalej.

Innym sposobem patrzenia na asystentów jest jakberło. W filmie „Ona” był system operacyjny o nazwie „Samantha”, w rosyjskim aktorstwie głosowym miała ten sam głos, co „Alice” z Yandex. Pełniła rolę interfejsu do zarządzania systemem operacyjnym, a nie została zaprojektowana jako asystentka. Apple ma takie podejście - Siri, Microsoft - Cortana, Google - Asystent Google.

Jak oni pracują?

Wszyscy asystenci zbudowani są na bardzo podobnymzasada. Pierwszą rzeczą, którą musi zrobić, to usłyszeć głos. Dzieje się to na urządzeniu użytkownika - telefonie komórkowym lub inteligentnym głośniku. Użytkownik mówi: „Alicja”, „Alexa”, „OK Google”. Po tych magicznych słowach urządzenie jest gotowe do nagrywania głosu użytkownika. Dzieje się tak do pewnego momentu - dopóki klient nie ucichnie lub urządzenie zmęczy się czekaniem, aż ucichnie. Następnie dane są przesyłane na serwer firmy świadczącej usługi.

Tu zaczyna się magia.Pierwsza operacja to konwersja mowy na tekst. Każdy mówi inaczej, jak przekonwertować to na tekst? Potem zaczyna się to, do czego używamy asystentów głosowych – świadczenie usługi. To dowolna operacja dostępna online - kupowanie biletów, rezerwacja stolika w restauracji. Jedynym pytaniem jest, jak zapewnić przyjazny interfejs użytkownika. Jeśli go tam nie ma, urządzenie zamienia się w mówcę.

Po wywołaniu serwisu użytkownik musizwróć wyniki, w tym celu musisz je odpowiednio zapakować. Najprawdopodobniej będzie to tekst, wydanie ze strony w Internecie, piosenka, dane, które obliczył kalkulator. Dane są konwertowane z powrotem na mowę i przesyłane do klienta.

Mowa do tekstu

Nasza komunikacja odbywa się za pomocą mowy, głos jestruch powietrza wokół. Wibracje te padają na błonę bębenkową, która popycha trzy kości - strzemię, kowadło i młotek. Te z kolei kołyszą organ zwany ślimakiem. Ślimaka dostaliśmy od ryby, jest on wypełniony wodą i żyją w nim komórki rzęsate, które oscylują wraz z wodą w ślimaku. Komórki rzęsate górne wzmacniają fluktuacje płynu i przekazują je do dolnej części komórek rzęsatych, które wytwarzają impuls elektryczny. Ten impuls jest przekazywany do mózgu.

Ponadto w różnych miejscach ślimaka komórki rzęsate odpowiadają za różne częstotliwości. Wysokie częstotliwości są przetwarzane w szerokiej części, średnie częstotliwości będą w środku, a niskie bliżej środka.

Jak sprawić, by maszyna odbierała taki dźwięk?w ten sam sposób - nie w postaci surowego sygnału, ale w postaci zestawu częstotliwości? Odpowiedź na to pytanie udzielił francuski matematyk Jean Baptiste Fourier, mieszkał na pograniczu XVIII-XIX wieku. Naukowiec zaproponował taką matematyczną transformację, za pomocą której wszystko jest takie samo jak w uchu - pobierany jest surowy sygnał i rozkładany na składowe częstotliwościowe.

Co zrobić ze składowymi częstotliwości?Możemy odwzorować widmową reprezentację na fonem, to znaczy możemy zamienić mowę na fonemy. Są one mniej lub bardziej łatwo algorytmicznie zamieniane na litery. Oznacza to, że możemy uzyskać słowo z reprezentacji fonetycznej.

Ale to wszystko jest niedokładne.Istnieją fonemy, które nieco się różnią, przejścia z jednego dźwięku do drugiego mogą brzmieć inaczej. Nazywają się senonami, jest ich około 10 tysięcy, ale gdy jest ich tak dużo, definiowanie słów staje się znacznie trudniejsze.

Zwalczanie błędów

Jak badacze radzą sobie z błędami?Odpowiedzi na to pytanie udzielił żyjący na przełomie XIX i XX wieku rosyjski matematyk Andriej Markow. Opracował teorię opisującą procesy, w których jedno wynika z drugiego. I dzięki jego teorii opracowano ukryte modele Markowa. To jeden z pierwszych sposobów naprawienia tego rodzaju błędów.

Na przykład, gdy ktoś mówi niewyraźnie, onakcent lub źle wymawia słowo - istnieje mechanizm matematyczny, który pozwala przywrócić i określić z dużą dokładnością, co dana osoba miała na myśli. W końcu ludzie też popełniają błędy, ale rozumieją się nawzajem, co oznacza, że ​​mamy w głowie mechanizm poprawiania błędów.

Ale reprezentacja tekstu nie wystarczy -komputer działa z liczbami. Jak je zdobyć? Noam Chomsky postawił hipotezę, że mamy w mózgu strukturę dostępną na poziomie narodzin, która pomaga nam szybko nauczyć się języków naturalnych. Chomsky przez całe życie buduje, udoskonala i pracuje nad modelem, który określa, jakie są wspólne wzorce w języku, bez względu na to, czy jest to rosyjski, angielski czy chiński.

Na slajdzie - gramatyka Chomsky'ego.To mniej więcej to samo, co robią na lekcjach języka rosyjskiego, kiedy analizują zdanie według składu. Istnieją rzeczowniki, przymiotniki, podmioty, predykaty, grupy czasowników - wszystko to jest sformalizowane i można je pokazać maszynie. Ta struktura jest łatwo reprezentowana w postaci liczb.

Maszyna może zrozumieć, o co chodzi wpropozycję i jakie działania podjąć. Na przykład, jeśli klient powie: „Alicjo, włącz muzykę”, to „włącz” będzie akcją, „muzyka” będzie obiektem, na którym akcja się toczy. „Alicja” zrozumie klienta i zacznie działać.

Ale same słowa są zbiorem liter, jakrozumiesz ich znaczenie? Są podobne słowa – „graj” i „graj”, czy urządzenie zrozumie, że to to samo? Odpowiedzi na to pytanie udzielił amerykański językoznawca Leonardo Bloomfield. Na początku XX wieku zaproponował teorię, w której znaczenie słowa określa kontekst, w którym to słowo się znajduje. Spójrz na slajd i zastanów się, jakie słowo można zastąpić trzema kropkami.

Moją odpowiedzią byłby słoń, ale kiedy zapytałemstudenci, mówią, że może być nosorożec, a nawet żyrafa. Ale ogólnie rozumiemy, że jest to duże zwierzę, które żyje w Afryce i które może być wściekłe. Jeśli połączymy to wszystko, otrzymamy opis semantyczny tego obiektu bez użycia samego słowa.

Ale jeśli to zdigitalizujemy, otrzymamydziesiątki tysięcy liczb. A dzięki amerykańskiemu matematykowi Gene’owi Golubowi udało się wymyślić, jak znacznie zmniejszyć liczbę cyfr. Zamiast używać liczb, używali zbioru liczb zwanego wektorem. I tego wektora można użyć do zrozumienia bliskości lub odległości w znaczeniu, pokrewieństwa semantycznego. Możesz więc zrozumieć, że „zabawa” jest w przybliżeniu tym samym, co „zabawa”.

Teraz istnieją narzędzia, w których możesz wprowadzać słowa,i stanie się jasne, jak są one rozmieszczone na mapie znaczeń. Na przykład słowa „żyrafa”, „słoń” i „nosorożec” są zgrupowane i lądują obok siebie w przestrzeni znaczeń. Metody te ewoluowały i obecnie wyglądają na znacznie bardziej zaawansowane.

Przedstawiliśmy słowa w formie struktury, zdania w formie struktury, przedstawiliśmy słowa w formie znaczeń, wszystko to w formie liczb, co dalej?

Usługi

Każda usługa ma setki tysięcy, miliony,miliardy obiektów. Jeśli mówimy o wyszukiwaniu w Internecie, to są to setki miliardów stron, dziesiątki miliardów obrazów. W przypadku strumieniowego przesyłania muzyki miliony piosenek.

Jedno z pierwszych podejść do indeksowania danych −budowanie binarnych drzew wyszukiwania. To samo jest używane w słownikach: otwierasz go w środku, a jeśli pominąłeś właściwe słowo, przewiń wstecz, jeśli go nie dostałeś, śmiało. Ale w 1962 r. radzieccy matematycy Georgy Adelson-Velsky i Evgeniy Landis opracowali strukturę danych, która utrzymuje się w stanie szybkiego wyszukiwania.

Ten system działa tylko na danych liniowych −liczby lub słowa. A co się stanie z danymi wielowymiarowymi, jeśli będziemy chcieli czegoś szukać na mapie lub w przestrzeni trójwymiarowej? W tym celu wymyślili takie struktury jak drzewa kd, doskonale radzą sobie z zadaniami wyszukiwania w przestrzeni trójwymiarowej. Ale przestali pracować przy nowoczesnych zadaniach, w których tekst jest opisany setkami liczb.

Ale dzięki pracom teoretycznym z końca XX wiekuEric Berninson zaproponował opracowanie drzewek wyszukiwania, zwanych Anna, które mogą służyć do zagwarantowania dobrej jakości wyszukiwania w ogromnych kolekcjach. Działa to dla całej ogromnej bazy Spotify – wspaniały wynik, który uzyskano zaledwie pięć lat temu.

Istnieją również inne podejścia:na przykład socjolog Stanley Milgram przeprowadzał dziwaczne, a czasem nieludzkie eksperymenty. Zrodził teorię sześciu uścisków dłoni, że wszyscy ludzie na Ziemi znają się przez nie więcej niż sześć uścisków dłoni. W tym celu poprosił ludzi o wysłanie listu do nieznajomego. Następnie musieli wybrać spośród swoich znajomych tych, którzy mogliby znać tę osobę. I okazało się, że zajęło im to sześć listów. Eksperyment został skrytykowany, ale powtórzono go w 2000 roku - i potwierdził wyniki.

To niesamowita właściwość, która w matematycenabył nazwę hrabiego „Small World”. Rosyjscy naukowcy - grupa Jurija Malkowa - zaproponowali ciekawy algorytm. Używali go, aby znaleźć wszystko, gdziekolwiek. Węzły na tym wykresie to już nie ludzie, ale dokumenty.

Na tym wykresie - najkrótsza odległość między dowolnymikilka obiektów. Użytkownicy mogą bardzo szybko znaleźć to, czego potrzebujemy. Ta struktura danych jest obecnie używana w wielu firmach w Rosji i za granicą - Facebook, Mail.ru, Yandex. Doskonały model matematyczny, który zmienił nie tylko usługi wyszukiwania i rekomendacji, ale także asystentów głosowych.

Czytaj więcej

Zobacz pierwszy na świecie jednostopniowy statek orbitalny przyszłości

Przez trzy lata naukowcy wierzyli, że na południu Marsa jest woda. Okazało się, że tak nie było

Naddźwiękowy samolot napędzany wodorem może osiągnąć prędkość do 12 Macha. To prawie 15 000 km/h