Jak działają „osoby świadomego rozpoznania”?

11

Alexa z Amazon , Nuance's Mix i Wit.ai z Facebooka używają podobnego systemu, aby określić, jak przekonwertować polecenie tekstowe na zamiar - tzn. Coś, co zrozumie komputer. Nie jestem pewien, jak brzmi „oficjalna” nazwa, ale nazywam to „celowym uznaniem”. Zasadniczo sposób na przejście z „proszę ustawić moje światła na 50% jasności” na lights.setBrightness(0.50).

Są one określone w ten sposób, że programiści dostarczają listę „przykładowych wypowiedzi”, które są powiązane z intencją i opcjonalnie oznaczone lokalizacjami „jednostek” (w zasadzie parametrów). Oto przykład z Wit.ai:

wit.ai przykład

Moje pytanie brzmi: jak działają te systemy? Ponieważ wszystkie są do siebie bardzo podobne, zakładam, że wszyscy mają pewne przełomowe dzieło. Czy ktoś wie co to jest?

Co ciekawe Houndify używa innego systemu, który jest bardziej jak regexes: ["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") . ["please"]. Zakładam, że jest to zintegrowane z wyszukiwaniem wiązki w ich systemie rozpoznawania głosu, podczas gdy Alexa, Wit.ai i Mix wydają się mieć oddzielne systemy Mowa-> Tekst i Tekst-> Intent.

Edycja: Znalazłem punkt początkowy - Mechanizm interakcji człowieka z robotem za pomocą nieformalnych poleceń głosowych . Do porównywania wypowiedzi używa czegoś o nazwie Latent Semantic Analysis. Przeczytam o tym. Przynajmniej dał mi punkt wyjścia w sieci cytowań.

Edycja 2: LSA zasadniczo porównuje użyte słowa (Bag of Words) w każdym akapicie tekstu. Nie rozumiem, jak to może działać bardzo dobrze w tym przypadku, ponieważ całkowicie traci porządek słów. Chociaż może kolejność słów nie ma większego znaczenia dla tego rodzaju poleceń.

Edycja 3: Ukryty temat Modele Markowa wyglądają na interesujące.

Timmmm
źródło
Ten post szczegółowo wyjaśnia celową
znat
Wydaje się, że używa metody „worek słów”, o której wspomniałem w moim pytaniu. Zasadniczo po prostu dodaj wektory słów w zdaniu. Nie może tak być. Interfejsy Rozumienia i Nuance pokazują, że rozpoznają byty, których worek słów nie może łatwo zrobić. Również worek słów traci wszystkie zamówienia, więc coś takiego jak „Ustaw alarm na 10 po 5” byłoby nie do odróżnienia od „Ustaw alarm na 5 po 10”. Musi być coś więcej.
Timmmm
Wyodrębnianie encji jest kolejnym problemem, w którym sekwencja ma znaczenie. Jeśli masz dużo danych, Rnn będzie działał, w mniejszych zestawach danych, które są częste w chatbotach, warunkowe pola losowe działają bardzo dobrze
zn
Ok, więc ... Szukam bardziej szczegółowej odpowiedzi niż „RNN zadziała”. Większość nowoczesnych systemów uczenia się sekwencji wykorzystuje RNN, więc wydaje się to oczywiste.
Timmmm
intencje dotyczą ogólnego znaczenia zdań (średnia wektorów), a istoty dotyczą uczenia się kontekstu (otaczających słów), w których się pojawiają. Rnn lub CRF to tylko algorytmy, których można użyć, ponieważ uczą się na podstawie sekwencji. Jeśli chcesz się szczegółowo nauczyć, zajrzyj do kodu źródłowego Rasa
znat

Odpowiedzi:

4

Chociaż nie odpowiadasz bezpośrednio na twoje pytanie, możesz być zainteresowany dziedziną automatycznej odpowiedzi na pytania . Aby odpowiedzieć na pytania tekstowe w języku naturalnym, należy je najpierw zrozumieć, co pokrywa się z Twoim problemem.

Dobrym źródłem jest kurs Jurafsky'ego i Manninga . W szczególności sekcje dotyczące semantyki i odpowiedzi na pytania mogą pomóc w tym, czego szukasz. Towarzyszące filmy wykładowe dostępne są na youtube tutaj .

dvdnglnd
źródło
Uważam, że pierwsza część twojej odpowiedzi jest bardzo zabawna, ale pouczająca.
Diego
Być może byłoby to lepsze jako komentarz, ponieważ, jak przyznajesz, nie odpowiada na pytanie.
kbrose
2

Ten post ma podejście. Zasadniczo używają worka słów - konwertują słowa na rzadkie wektory, a następnie sumują je.

Wygląda na to, że działa dość dobrze, ale jedną z głównych wad jest to, że odpowiedź jest niezależna od kolejności słów, więc nie możesz wykonywać zapytań typu „Ile kilogramów za funt”, chyba że je specjalnie uwzględnisz.

Jednak napisałem tekst z Alexą i jest on dość niewrażliwy na zmiany kolejności słów, więc może używają czegoś podobnego.

Timmmm
źródło
Ciekawe - jaką przewagę mają wektory rzadkie nad Naive Bayesian? Zarówno dla mnie rozwiązać liniowo rozłączne problemy z naiwnej bag-of-słów założeniu
Angad