Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [VXML] Sterowanie głosowe
Forum PHP.pl > Forum > Po stronie przeglądarki
WebCM
Po wejściu Web 2.0 i społecznościowej rewolucji powstają koncepcje Web 3.0. Główne założenia:
  1. Aplikacje będą opierać się o bazy danych, aby przeglądarki lub inne czytniki mogły dopasować je do wzorca, czyli przekazać internautom w odpowiedniej formie.
  2. Sztuczna inteligencja, naturalna interakcję z użytkownikiem.
  3. Wyświetlanie i przetwarzanie danych w 3D.
  4. Rozpoznawanie zamiarów internauty na podstawie kontekstu danych (z tym obecnie nawet Google ma problemy)
  5. Semantyczny kod - mikroformaty, poprawne znaczniki, wykorzystanie CSS

Przyjrzałem się bliżej funkcjom głosowym w Operze. Przeprowadzenie prostej interakcji z użytkownikiem nie jest trudne, ale rozwiązanie aktualnie nie nadaje się do zaawansowanych aplikacji lub gier.

Technologię opisują języki VoiceXML i SML oparte na XML. Twórcy zewnętrznych aplikacji lub telefonicznych systemów zamówień mają ułatwione zadanie, bo wystarczy wykorzystać libexpat, a syntezator sam zadba o interpretację i podział na etapy (analogicznie do: wybierz 1, aby... naciśnij 2, aby...) na podstawie kodu. Wszystko wg ściśle ustalonych schematów, choć specyfikacja pozwala wtrącić kod JS, wyrażenia regularne, opcje wyboru i znacznie więcej. Otrzymane odpowiedzi są przechowywane w polach abstrakcyjnego formularza.

W przypadku zaawansowanych aplikacji internetowych XVML może nie zdać egzaminu. Jest zbyt skomplikowany, przez co można łatwo zagmatwać kod HTML i zgubić się. Coś się pewnie zmieni w Voice XML 3, ale mimo wszystko chyba lepiej napisać całą logikę w JS. HTML 5 pozwala osadzić SVG i MathML, ale nie wiem, czy VXML też.

Moja wizja: istnieje obiekt, na przykład VOICE, inicjowany podobnie jak XMLHttpRequest. Kluczową rolę pełnią zdarzenia oraz metody pozwalające wykryć określone słowa, znaki lub sekwencje. Obiekt ma własności dotyczące opóźnień, szybkości... które można zmienić.

Na przykładzie gry logiczno-przygodowej:
1) polecenia "[go] left", "[go] right", "enter"... są interpretowane zawsze
2) inne polecenia, np. "open drawer", "put CD", "turn on [the] computer" - w razie potrzeby
3) inne przykłady: "[tell me] about ", "where I am", dyktowanie kodu

Tego nie da się zrobić etapami, a najlepszą metodą na 50% jest przekazywanie sobie zdarzeń między obiektami lub funkcjami - podobnie przechwytuję klawiaturę - onkeydown - niektóre pokoje lub elementy w grze mają zdarzenie zdefiniowane przeze mnie smile.gif

Co myślicie o interakcji werbalnej w aplikacjach i grach?
Blame
Może wypowiem się na temat gier tongue.gif Otóż system poleceń głosowych został wykorzystany dość dawno np. w Tom Clancy's Endwar. Na samym początku gry nasz głos był "przyswajany" przez system poprzez wypowiadanie komend widocznych na ekranie. Mimo, że gra nie była całkowicie podporządkowana komendom głosowym, grać można było również za pomocą klawiatury i myszki, to szalenie ułatwiała ona grę. Sam system rozpoznawania komend spisywał się bardzo dobrze, rzadko kiedy trzeba było powtarzać coś parę razy smile.gif. Więc jeśli chodzi o tego typu rozwiązania to jestem zdecydowanie na tak biggrin.gif

PS. Wydaje mi się, że temat bardziej do OT winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.