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.
źródło
Odpowiedzi:
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 .
źródło
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.
źródło