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:
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.