I0H1S4 Kamil Piersa spr lab2


Wojskowa Akademia Techniczna
im. Jarosława Dąbrowskiego
L a b o ra t o r i um
S t a n d a r d y w p r o j e k t o w a n i u s y s t e m ó w d i a l o g o w y c h
Prowadzący: dr inż. Andrzej Wiśniewski
Sprawozdanie z ćwiczenia laboratoryjnego
Nr 2
Wykonał:
Kamil Piersa
I0H1S4
1. Architektura portalu głosowego
Tematem aplikacji jest agencja nieruchomości w Warszawie. Klient dzwoni do centrali w celu złożenia
ogłoszenia o sprzedaż (selling), kupno (buying), bądz wynajęcie mieszkania (renting). Jeśli wybrał jedno z
powyższych kolejne pytanie od sekretarki było na temat lokalizacji mieszkania. Możliwości do wyboru były:
w centrum miasta (downtown), bądz przedmieścia (suburbs). Po wyboru lokalizacji, dzwoniący pytany był o
metraż mieszkania (30m2, 50m2, 60m2, 70m2). Ostatnie pytanie było w jakich przedziałach cenowych
dzwoniący chciał wybrad mieszkanie. Do wyboru miał dwie możliwości: mieszkanie do tysiąca dolarów oraz
powyżej tysiąca dolarów. Po udzieleniu odpowiedzi odpowiedz sekretarki brzmiała:  Dziękuję za
korzystanie z usług biura. Nasz agent skontaktuje się z panem w przeciągu 2 dni. Do widzenia! .
Poniższy wykres ilustruje strukturę blokową całej aplikacji głosowej.
PYTANIE
Thank you for calling the biuro of real estates in
REPROMPT
Warsaw. What service do you want to choose? You
I'm sorry, I didn't get
can choose between: buying, renting, selling
that. Can you repeat,
please ?
Buying Renting Selling
(Kupno) (Wynajem) (Sprzedaż)
PYTANIE
Which location do you choose? You can choose
REPROMPT
between downtown and suburbs.
I'm sorry, I didn't get
that. Can you repeat,
Downtown Suburbs
please ?
(Centrum) (Przedmieścia)
PYTANIE
REPROMPT
What size of apartment do you choose? Available meters square are:
I'm sorry, I didn't get
thirty, fifty, sixty, seventy
that. Can you repeat,
please ?
Thirty Fifty Sixty Seventy
(Trzydzieści) (Pięddziesiąt) (Sześddziesiąt) (Siedemdziesiąt)
PYTANIE
Last question. What price do you want to put?
Available options are: First: Up to one thousand
REPROMPT
dollars. Second: Above one thousand dollars. Do you
I'm sorry, I didn't get
want first or the second option?
that. Can you repeat,
please ?
First Second
(Pierwsze) (Drugie)
POŻEGNANIE
Thanks for using our biuro. Our
agent will contact you in two days.
Goodbye!
2. Przykładowy dialog
S: Serwer U: Użytkownik (dzwoniący)
S: Thank you for calling the biuro of real estates in Warsaw. What service do you want to choose?. You
can choose between: buying, renting and selling (Dziękuje za dodzwonienie się do biura nieruchomości w
Warszawie. Jaką usługę chciał(a)by pan(i) wybrad? Do wyboru: kupno, sprzedaż, wynajem.)
U: Buying (Kupno).
S: You have chosen buy apartment option. Which location do you choose? (Wybrałeś opcję: kupno
mieszkania. Jaką lokalizację wybierasz?).
S: You can choose between downtown and suburbs. (Możesz wybrad: centrum, przedmieścia).
U: Downtown. (Centrum.)
S: I'm sorry, I didn't get that. Can you repeat, please ? (Przepraszam, nie usłyszałem. Czy może Pan(i)
powtórzyd?)
U: Downtown (Centrum).
S: You have chosen apartment located in downtown. What size do you choose? Available metres square
are: thrity, fifty, sixty, seventy (Wybrałeś mieszkanie zlokalizowane w centrum miasta. Jaki metraż
wybierasz? Metraże do wyboru (w m2) to: 30, 50, 60, 70)
U: Thirty. (Trzydzieści.)
S: You choosed thirty metre square apartment. (Wybrałeś 30 metrowe mieszkanie)
S: Last question. What price do you want to put? Available options are: First: Up to one thousand dollars.
Second: Above one thousand dollars. Do you want first or the second option? (Jaką chcesz wybrad cenę?
Opcje do wyboru to: Pierwsza: mieszkanie do tysiąca dolarów, Druga: mieszkanie powyżej tysiaca dolarów.
Wybierasz pierwszą czy drugą opcję?)
U: First. (Pierwszą)
S: You have chosen apartment up to one thousand dollars. (Wybrałeś mieszkanie do tysiąca dolarów.)
S: Thanks for using our biuro. Our agent will contact you in two days. Goodbye! (Dziękuję za korzystanie
z usług biura. Nasz agent skontaktuje się z panem/panią w przeciągu 2 dni. Do widzenia!)
3. Zastosowanie funkcji
a) Zastosowanie funkcji sterującej goto.
Instrukcja goto powoduje przekazanie sterowania w inne miejsce, tzw. skok. Innymi słowy jest to
przekazanie sterowania do określonego bloku w kodzie programu. W niniejszym programie instrukcja goto
została użyta do przekazania sterowania do kolejnych subdialogów w programie, tak jak to widad w
przedstawionym niżej fragmencie kodu (przekazanie sterowania z subdialogu 2 do subdialogu 3).

.
.
.


Działanie tej instrukcji przedstawia przykładowy scenariusz:
S: Which location do you choose? You can choose between downtown and suburbs.
U: You have chosen apartment located in downtown.
<-- w tym miejscu działanie instrukcji goto -->
S: What size of apartment do you choose? Available metres square are: thirty, fifty, sixty, seventy.
b) Zastosowanie funkcji sterującej if .
Instrukcja if (w połączeniu z elementami else / elseif), stanowi metodę wykorzystania warunkowych
wyrażeo logicznych, które pozwalają programiście na zmiany przepływu sterowania w aplikacji w oparciu o
wypowiedzi użytkowników, wartości zmiennych, lub wydarzeo (events). Instrukcja if stosowana jest z
atrybutem cond. Atrybut ten określa dowolne poprawne wyrażenie, które użytkownik wypowiedział
podczas używania programu. Jeśli atrybut ten zgodzi się z wyrazem wypowiedzianym przez użytkownika
instrukcja if zostanie wykonana. Poniższy fragment kodu przedstawia użycie instrukcji warunkowej if w
niniejszym programie:


You have chosen apartment located in downtown.



You have chosen apartment located in suburbs.


Ta częśd kodu odpowiada za to, że jeśli użytkownik podczas użytkowania programu (przy wyborze miejsca
usytuowania mieszkania) wypowie słowo  downtown aplikacja odpowie: You have chosen apartment
located in downtown. Jeśli warunek się nie spełni zostanie wykonana następująca częśd kodu:

I'm sorry, I didn't get that. Can you repeat, please ?


i aplikacja odpowie: I m sorry, I didn't get that. Can you repeat, please ?.
c) Zastosowanie pola z atrybutami expr i cond.
Pol umożliwia dialog, który pozwala interpreterowi na zebranie informacji od użytkownika aplikacji.
Wypowiedzi użytkownika są porównywane ze zdefiniowaną gramatyką do kooca pola field
.
Atrybut pola - expr określa domyślną wartośd pola. Jeśli nie jest one wcześniej zdefiniowane, tak jak
w przypadku niniejszego programu atrybut expr odpowiada za to, że poprzez wykonanie aplikacji z pliku
subD.xml aplikacja wypowie 'Which location do you choose? You can choose between downtown and
suburbs, a wypowiedzi rozmówcy będą porównywalne z gramatyką zdefiniowaną w pliku
Subdialog_File.xml. Dodatkowo, dzięki atrybutowi cond, którego wartośd jest ustawiona na true, pole te
zawsze będzie wykonane. W przypadku, gdy atrybut cond będzie ustawiony na wartośd false, pole te nie
będzie wykonane.
Subdialog_File.xml:

[buying selling renting]
[downtown suburbs]
[thirty fifty sixty seventy]
[first second]






subD.xml:

d) Zastosowanie subdialogu
jest odpowiedzialny za wywołanie pewnej części dialogu w oparciu o dane zebrane. Atrybut
src wskazuje plik z subdialogiem. Atrybut name określa nazwę subdialogu, a aby przekazad dane do bloku
instrukcji wskazywanego przez subdialog określany jest atrybut param. Niniejszy fragment kodu, który
przedstawia przykładowy subdialog.





You have chosen apartment located in downtown.



You have chosen apartment located in suburbs.



I did not get that, can u repeat your option?





4. Uwagi o testowaniu programu na portalu głosowym Voxeo.
Pierwszym krokiem jaki wykonałem przy realizacji zadania była rejestracja na portalu
evolution.voxeo.com. Następnie, po zarejestrowaniu darmowego konta zalogowałem się na serwer Voxeo.
W menu Account -> Files, Logs, Reports, dodałem na serwer Voxeo do katalogu root/www plik .XML z
kodem programu (SubD.xml i Subdialog_File.xml)
W menu Account > Applications widad dodaną aplikacją o nazwie lab2_sub.
Można także zobaczyd właściwości tej aplikacji (aby dodzwonid się z komunikatora Skype ważnym jest aby
typ aplikacji głosowej (Voice Application Type) był ustawiony na Prophecy 11, Multi-Language VoiceXML)):
W zakładce Call Methods można zobaczyd numery przez, które można dodzwonid się do dodanej aplikacji
xml owej.
Voxeo umożliwia komunikację z aplikacją poprzez popularny komunikator głosowy IP - Skype. Aby to zrobid
w oknie komunikatora należy wpisad odpowiedni numer wygenerowany przez Voxeo.
Jak widad, udało się połączyd z aplikacją głosową:
5. Wnioski.
Portal Voxeo jest to portal aplikacji głosowych, które obsługują takie formaty plików jak .XML, w którym
można tworzyd np. aplikacje głosowe. Jest przydatny przy tworzeniu np. automatycznych sekretarek
wykorzystywanych w wielu firmach. Zwalnia to tym samym prawdziwe osoby, które miałyby siedzied na
słuchawkach i obsługiwad klientów w ten sam sposób co zrobi to aplikacja komputerowa. Można
wykorzystad to w wielu programach np. takim jakim jest najpopularniejszy komunikator głosowy na świecie
 Skype. Ułatwia i usprawnia to komunikację klientów z wieloma firmami, tak jak funkcjonalnośd do
rejestracji użytkownika, złożenia zamówienia różnorodnych usług, czy nawet nagrania, odsłuchania
wiadomości, historii, organizowanie spotkao itp. Przy tej okazji, jeśli dzwoniący jest z innego kraju niż
firma/usługa z jaką próbuje się połączyd nie musi płacid za połączenia telekomunikacyjne, gdyż telefonia IP
jest bezpłatna. Podsumowując, usprawnienia jakie przynosi za sobą telefonia IP oraz tym samym portal
Voxeo są zaskakujące i przyszłościowe i byd może będzie udoskonalana na większą skalę.


Wyszukiwarka

Podobne podstrony:
I7G2S1 Kamil Piersa PSY (2)
spr pneumatyka lab2
Hipua lab2 spr
23 ROZ warunki i tryb postępowania w spr rozbiórek obiek
kryształy spr 3 bez filtra Mo
spr MIBM
Lab2 4 R1 lab24
Hipua lab3 spr
pwsz labor spr korozja doc
spr 5 1 8 transf bryl male
Spr[1] kompetencji kl III
lab4 spr
spr

więcej podobnych podstron