211service.com
Google dla programistów: oto jak przestać tworzyć głupie chatboty
Generalnie komputery są bezużyteczne w prowadzeniu rozmowy. Po prostu biorą rzeczy zbyt dosłownie. Ale Google uczy komputery, jak zrozumieć kaprysy ludzkiej mowy i tekstu.
Od dziś Google udostępnia te algorytmy zewnętrznym programistom. Wydane narzędzia pomogą programistom tworzyć aplikacje i usługi oparte na językach, które są mniej podatne na irytujące nieporozumienia niż wiele dzisiejszych chatbotów. Powinny też pomóc programistom w uzależnieniu się od potężnych technik uczenia maszynowego, które doskonali Google.
Własne opanowanie gramatyki i składni Google pomaga firmie dostarczać dokładniejsze wyniki wyszukiwania i będzie to miało coraz większe znaczenie, ponieważ coraz więcej urządzeń i usług będzie uzależnionych od sterowania głosowego.
Smartfony oparte na oprogramowaniu Google mogą oczywiście być już sterowane głosem, a powszechnie uważa się, że firma opracowuje urządzenia domowe, podobne do Echo Amazona, które w większym stopniu zależą od interakcji głosowej. Dlatego wydanie narzędzia, które sprawia, że rozumienie języka staje się bardziej dostępne, ma wiele strategicznego sensu.
Większość naszych użytkowników komunikuje się z nami poprzez język, mówi Fernando Pereira, który kieruje działaniami firmy w zakresie rozumienia języka naturalnego i uczenia maszynowego. Zadają pytania, pisane lub wypowiadane. Abyśmy mogli dobrze służyć użytkownikowi, musimy sprawić, by nasze systemy rozumiały, czego chcą użytkownicy.
Jedno z udostępnionych dziś narzędzi, zwane SyntaxNet, może nauczyć się rozumieć znaczenie słów i fraz, biorąc pod uwagę ich kontekst i powszechne użycie. Działa to z platformą głębokiego uczenia wydaną wcześniej przez Google, o nazwie TensorFlow. I jest to najbardziej złożony i wyrafinowany komponent zbudowany przy użyciu TensorFlow do tej pory.
Google udostępniło również przeszkolony parser dla języka angielskiego, o nazwie Parsey McParseface (rzecznik mówi, że firma miała problem z wymyśleniem nazwy, gdy ktoś zasugerował ten chwytliwy pseudonim). Tekst wprowadzony do parsera zostanie automatycznie podzielony na składniki składniowe, takie jak rzeczowniki, czasowniki, podmioty i obiekty. Ułatwia to komputerowi poprawne analizowanie niejednoznacznych zapytań lub poleceń.
Google zwykle opiera się na danych i uczeniu maszynowym – i rzeczywiście niektóre inne podejścia, takie jak Facebook, próbują nauczyć komputery analizować język, dostarczając im duże ilości w dużej mierze nieoznakowanych danych (patrz „Uczenie maszyn, aby nas zrozumieć”). Ale projekt Google dotyczący rozumienia języka, opisany w: papier online, opiera się na ludzkiej wiedzy. Od ponad ośmiu lat profesjonalni lingwiści pracują nad opisywaniem tekstu dla firmy. Ostatnie postępy poczyniono dzięki wprowadzeniu tych adnotacji do dużej sieci neuronowej głębokiego uczenia.
Zrozumienie języka jest niezwykle trudne dla komputerów, ponieważ język jest często niejednoznaczny. Zapytanie tak proste jak Znajdź mnie koty w kapeluszach może być zinterpretowane jako zapytanie dotyczące kotów w kapeluszach lub kotów siedzących w kapeluszach. Podczas gdy ludzie wykorzystują wiedzę ogólną, aby ujednoznacznić takie zdania, technologia Google wykorzystuje uczenie maszynowe. Jego system głębokiego uczenia, wytrenowany za pomocą tekstu syntaktycznego, dokonuje oceny najbardziej prawdopodobnej prawidłowej struktury wypowiedzi. W przypadku kotów w kapeluszach zakłada się, że poszukiwacz jest zainteresowany modnymi kotami.
Dave Orr, menedżer produktu w Google odpowiedzialny za wyszukiwanie komercyjnych aplikacji do badań firmy nad rozumieniem języka, zademonstrował mi tę technologię. Nakarmił kilka artykułów z Przegląd technologii MIT do wewnętrznej wersji parsera języka. Popełniło kilka trywialnych błędów — na przykład pomyliło słowo „wola” na początku zdania z moim imieniem — ale generalnie wydawało się, że adnotuje zdania z imponującą dokładnością, identyfikując struktury składniowe, które prawidłowo oddają znaczenie nagłówka lub ołowiu. To najlepszy parser, jaki kiedykolwiek stworzył, mówi Orr. Uważamy, że jest zbliżony do poziomu ludzkiego.
Wewnętrznie Google łączy swój system języka naturalnego z bazą danych informacji semantycznych zwaną Grafem wiedzy. Dzięki temu może rozpoznawać określone obiekty, osoby, miejsca i inne pojęcia i odpowiednio reagować. System często potrafi również poprawnie klasyfikować nowe słowa, porównując je z innymi słowami, które pojawiają się w podobnym kontekście. Jak dotąd technologia działa w 15 językach. Niektóre języki są trudniejsze do analizy językowej, co utrudnia szkolenie, mówi Orr.
Technologia ta jest jednak daleka od doskonałego rozumienia języka angielskiego. Nasze systemy działają najlepiej na dobrze ustrukturyzowanym, dobrze zredagowanym tekście, mówi Pereira. Problemem jest nieregularność mediów społecznościowych i zapytań w wyszukiwarce. Poczyniliśmy postępy w tym zakresie, ale jest dużo miejsca.
Nadal istnieje również wiele niejasności, które wymagają ludzkiego poziomu zdrowego rozsądku – rzeczy, których uczymy się z doświadczenia oraz z instrukcji od naszych rówieśników i naszych rodziców, mówi Pereira. Taka bardzo bogata umiejętność rozwiązywania problemów powoduje, że nasze systemy są całkowicie zagubione.
Noah Goodman, profesor na Uniwersytecie Stanforda, który bada rozumienie języka, mówi, że lepsze rozumienie składniowe to dopiero początek tego, czego komputery potrzebują do opanowania języka. Składnia jest z pewnością ważną częścią języka, mówi. Ale to duży krok od tego do semantyki i od płytkiej semantyki do wywnioskowanego znaczenia.