Blog (22)
Komentarze (619)
Recenzje (0)

Od zera do spikera - sterujemy komputerem za pomocą głosu cz. 2

@alucosoftwareOd zera do spikera - sterujemy komputerem za pomocą głosu cz. 223.02.2014 23:48

Jak mówić do komputera, aby ten nas rozumiał? Najlepiej wykorzystać jakieś oprogramowanie, które wyszuka w naszej mowie wcześniej ustalone (zaprogramowane) komendy głosowe i podejmie właściwe dla tych poleceń działania. Aplikacją zdolną do podejmowania takich działań, obsługującą język polski, działającą szybko i sprawnie, jest Spikit. Ten tekst ma na celu pokazać, że utworzenie własnego asystenta głosowego może być bardzo proste i przyjemne.

Lekcja 2

W poprzedniej części przedstawiłem informacje przydatne podczas pierwszego kontaktu z programem i z mechanizmem Reguł głosowych odpowiedzialnym za zarządzanie listą dostępnych w nim poleceń. Dziś rozwiniemy nasze umiejętności i utrwalimy nowo zdobytą wiedzę.

Niech żyje wolność i swoboda

Podczas zwyczajnej rozmowy z inną osobą zwykle używamy wielu różnych słów, ale tylko nieliczne z nich dotyczą omawianego tematu i odgrywają decydującą rolę w procesie pojmowania sensu zdania. Reszta stanowi tylko uzupełnienie, które może (choć nie musi) podnieść jakość przekazu informacji lub w najgorszym wypadku wprowadzić element konfuzji ;) Jeśli więc mamy kiedykolwiek swobodnie rozmawiać z komputerem, wydawać mu rozkazy i oczekiwać wykonania ważnych dla nas czynności to musimy:

  • darować sobie swobodę i wypowiadać komendy dokładnie tak jak życzy sobie tego jakiś producent systemu rozpoznawania mowy (co bywa niekiedy sztuczne)

albo

  • stworzyć asystenta specjalnie dla siebie i znaleźć sposób na wyróżnianie tylko najważniejszych fragmentów poleceń, traktując wszystkie inne części jako neutralne/nieistotne dla zrozumienia kontekstu wypowiedzi

Chyba każdy z nas ceni sobie możliwość nieskrępowanego podejmowania wyborów. Pojęcie wolności możemy także przenieść w komputerowy świat zer i jedynek i odnieść do tych części programu komputerowego, od których zależy czego - za pomocą danej aplikacji - możemy faktycznie dokonać i jakimi środkami może się taki proces odbywać. A tu Spikit daje nam wiele swobody... jak na niezależną produkcję z gatunku "systemy rozpoznawania mowy" :)

Dowiedzieliśmy się już wcześniej, że za pomocą list reprezentowanych przez znaki specjalne ( ) oraz | możemy tworzyć proste Reguły głosowe zawierające jedną lub większą ilość komend głosowych:

Wiemy również, że tę samą akcję możemy powiązać z różnymi słowami, a wybrane z nich (lub nawet całe zdania) oznaczać jako wyrażenia opcjonalne, czyli takie, które wypowiemy lub pominiemy:

Dzięki poprzedniej lekcji potrafimy wyodrębnić wspólne słowa dla wielu poleceń i zapisywać je w skondensowanej formie:

Czego jeszcze nie omawialiśmy, a co zasugerowałem na samym końcu poprzedniej częsci kursu to, że możliwy jest zapis polecenia głosowego ze wskazaniem miejsca potencjalnych wtrąceń, zająknięć, czyli miejsc wystąpienia wyrazów, których nie spodziewaliśmy się wypowiedzieć lub wypowiedzianych w przypływie emocji... Aby wskazać takie miejsce, wystarczy wykorzystać znak specjalny *, mając świadomość tego, że nie możemy go zbytnio nadużywać i musimy to robić z głową. W przeciwnym razie komendy głosowe wykorzystujące taki dowolny ciąg słów reprezentowany przez gwiazdkę mogłyby kolidować z innymi istniejącymi poleceniami w naszej Regule głosowej. Rozważmy następujący przykład:

Co możemy w takim przypadku wypowiedzieć? W miejscu wystąpienia symbolu * pojawić się mogą inne wyrazy np. zamknij już ten program, zaznacz cały tekst, zaznacz ten długi dokument. Nie oznacza to, że musimy dodawać słowa na siłę. Nie musimy. Pamiętaj przy tym, że im dłuższa będzie część polecenia wymagająca wypowiedzenia, tym lepiej Spikit poradzi sobie z drobnym wtrąceniem, ale już nie odwrotnie! Ten sposób zapisu poleceń przynosi całkiem ciekawe rezultaty w połączeniu z mechanizmem odpowiedzi głosowych wbudowanym w Spikit, szczególnie wtedy, gdy w tym samym pomieszczeniu razem z nami znajdują się jeszcze postronne osoby. Komputer reagujący na komendy naznaczone naszymi własnymi emocjami - a to dopiero "cuda techniki"!

Reguły dodatkowe

Niezależnie od tego czy sami skonstruujemy Reguły głosowe, czy tylko skorzystamy z tego co jest domyślnie zapisane w programie, Spikit automatycznie utworzy dla nas kilka dodatkowych Reguł, które - jeśli wykorzystane w odpowiedni sposób - ułatwiają bardzo pracę z aplikacją. Spikit w wersji 1.5.1 daje nam możliwość wykorzystania następujących Reguł pomocniczych:

  • ILOŚĆ_POWTÓRZEŃ
  • NAZWY_KART
  • MAGAZYN_SKRÓTÓW
  • MAGAZYN_REGUŁ
  • MAGAZYN_SŁOWNIKÓW

Reguły te działają dokładnie w taki sam sposób jak Reguły zapisane w poszczególnych kartach programu (Moje polecenia, Karta dynamiczna, Ustawienia). Ich nazwy zapisałem wielką literą, aby odróżnić je od pewnych typów akcji w programie, ale możesz wybrać inny sposób pisowni. Tak jak zwykłe Reguły, także i one zawierają listę poleceń, które niosą ze sobą jakąś wartość (przekazują pewną informację). Rozważmy następujący przykład:

Jeśli chciałbym kilkukrotnie nacisnąć klawisz Enter, to musiałbym wiele razy wypowiedzieć polecenie posiadające przypisaną akcję naciśnięcia tego klawisza. Aby ułatwić sobie pracę, mógłbym podążać linią najmniejszego oporu intelektualnego i po prostu utworzyć kilka dodatkowych poleceń usprawniających taką czynność:

Każde kolejne polecenie różniłoby się od poprzedniego wyłącznie zakończeniem określającym ilość powtórzeń i odpowiednio zmodyfikowaną akcją. Nie jest to eleganckie rozwiązanie. Spróbujmy zapisać to inaczej:

Powinien istnieć sposób umożliwiający szybkie tworzenie takich wersji komend głosowych. Sposób na doklejenie w odpowiednim miejscu w Regule głosowej innego zbioru poleceń np. (dwa | trzy | cztery | pięć | sześć). Z każdym z takich doklejonych poleceń powiązana byłaby informacja o liczbie jaką reprezentuje dane słowo (np. ze słowem "dwa" powiązana jest liczba 2). Oczywiście w Spikit istnieje takie rozwiązanie - możliwość doklejenia we wskazanym miejscu w Regule głosowej innej Reguły, która przekazuje dodatkową informację. To rozwiązanie nosi nazwę odniesienia do Reguły i wykorzystuje znak specjalny #. Spróbujmy utworzyć Regułę głosową wykorzystującą odniesienie do Reguły ILOŚĆ_POWTÓRZEŃ:

Z takiego zapisu wynikają polecenia "naciśnij klawisz jeden", "naciśnij klawisz dwa", "naciśnij klawisz trzy" itd. Zmodyfikujmy Regułę raz jeszcze dodając na końcu dodatkowe słowo oraz obejmując odniesienie do Reguły znakami sugerującymi opcjonalność:

W takim przypadku poprawnymi poleceniami rozpoznawanymi przez Spikit będą komendy "naciśnij klawisz", ale również "naciśnij klawisz jeden razy", "naciśnij klawisz dwa razy", "naciśnij klawisz trzy razy" itd. Mamy tutaj dużą dowolność jeżeli chodzi o miejsce wstawienia zarówno odniesienia do Reguły jak i ustalenia akcji (na początku, w środku, na końcu zdania). Niemniej informacja przekazana przez Regułę ILOŚĆ_POWTÓRZEŃ może być wykorzystana do powtórzenia tylko określonych typów akcji (akcji naciskania sekwencji klawiszy oraz wprowadzenia tekstu). Jako małe zadanie, spróbuj rozszyfrować schemat wypowiadania poleceń wynikający z następującej Reguły głosowej:

Jeśli już uporałeś się z zagadką, przywróć na chwilę domyślną Regułę w Karcie Dynamicznej i zobacz jak wykorzystane jest tam odniesienie do Reguły ILOŚĆ_POWTÓRZEŃ, aby uprościć czynność wprowadzania wiele razy tego samego znaku lub naciskania tej samej kombinacji klawiszy. Choć w programie dostępne są jeszcze inne Reguły dodatkowe, omówię je później. Korzysta się z nich dokładnie w taki sam sposób jak z Reguły ILOŚĆ_POWTÓRZEŃ. Reguły te nie mają jednak tak ogólnego zastosowania i są ściśle związane z pojedynczymi akcjami.

Jeśli chcesz być na bieżąco z niusami dotyczącymi programu lub zależy Tobie na dalszym rozwoju projektu (program ma w pełni funkcjonalną bezpłatną edycję) - polub Spikit na Facebooku :-)

Wybrane dla Ciebie
Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.