Silnik polskoj«zycznych tekstowych gier przygodowych.pdf

(539 KB) Pobierz
46346683 UNPDF
UniwersytetWarszawski
WydziaªMatematyki,InformatykiiMechaniki
Paweª AleksanderFedory«ski
Nralbumu:2097
Silnikpolskoj¦zycznychtekstowych
gierprzygodowych
Praca magisterska
na kierunku INFORMATYKA
wzakresie PRZETWARZANIAJZYKANATURALNEGO
Pracawykonanapodkierunkiem
dra KrzysztofaSzafrana
InstytutInformatyki
Wrzesie«2005
O±wiadczenie kieruj¡cego prac¡
O±wiadczam, »e niniejsza praca zostaªa przygotowana pod moim kierunkiem i
stwierdzam, »e speªnia onawarunki doprzedstawienia jejw post¦powaniu onadanie
tytuªuzawodowego.
Data
Podpiskieruj¡cegoprac¡
O±wiadczenie autora(autorów) pracy
wiadom odpowiedzialno±ci prawnej o±wiadczam, »e niniejsza praca dyplomowa
zostaªa napisana przeze mnie samodzielnie i nie zawiera tre±ci uzyskanych w sposób
niezgodnyzobowi¡zuj¡cymiprzepisami.
O±wiadczamrównie»,»eprzedstawionapracaniebyªawcze±niejprzedmiotempro-
cedurzwi¡zanychzuzyskaniemtytuªuzawodowegowwy»szejuczelni.
O±wiadczamponadto,»eniniejszawersjapracyjestidentycznazzaª¡czon¡wersj¡
elektroniczn¡.
Data
Podpisautora(autorów)pracy
Streszczenie
W pracy przedstawiono algorytmy, sªu»¡ce do analizy wprowadzanych przez u»ytkownika
zda« w j¦zyku naturalnym. Polecenia s¡ poddawane rozbiorowi gramatycznemu, a nast¦p-
nie interpretacji, uwzgl¦dniaj¡cej kontekst, w jakim zostaªy wypowiedziane. Przedstawiony
mechanizmumo»liwiastworzeniegry,przyjmuj¡cejbardziejzªo»onepoleceniani»wszystkie
dot¡d istniej¡ce polskoj¦zyczne gry tekstowe i MUDy. W ramach pracy przedstawiona zo-
staªaprzykªadowaimplementacjaopisanegosilnikawj¦zykuCommonLisp,któranast¦pnie
zostaªawykorzystanadostworzeniapolskoj¦zycznego remake 'uklasycznejgry\Hobbit".
Sªowa kluczowe
interactive ction, gryprzygodowe, rozbiórgramatyczny, przetwarzenie j¦zyka naturalnego,
CommonLisp
Dziedzina pracy (kody wgprogramu Socrates-Erasmus)
11.3Informatyka
Klasykacja tematyczna
I.ComputingMethodologies
I.2ArticialIntelligence
I.2.7NaturalLanguageProcessing
Spistre±ci
1. Wst¦p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Wprowadzeniehistoryczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Interactivection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2. Polskoj¦zycznetekstowegryprzygodowe. . . . . . . . . . . . . . . . . 8
1.1.3. Wspóªczesnepolskoj¦zyczneMUDy . . . . . . . . . . . . . . . . . . . 9
1.2. Celizakrespracy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2. Dziaªanie programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1. Uwaganatematterminologii . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Modeldanych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Rozbiórgramatycznyzdania. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1. Posta¢wyniku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.2. Przykªady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.3. Algorytmrozbioru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.4. Przykªad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.5. Uwagi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4. Interpretacjapolecenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.1. Posta¢wyniku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.2. Przykªady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4.3. Algorytminterpretacji . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5. Wykonaniepolecenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.5.1. Wybóriwykonaniepojedynczegodziaªania . . . . . . . . . . . . . . . 36
2.5.2. Wykonaniepeªnegopolecenia . . . . . . . . . . . . . . . . . . . . . . . 37
2.5.3. Uwagi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6. Ograniczeniaiperspektywyrozwoju . . . . . . . . . . . . . . . . . . . . . . . 39
3. Szczegóªy implementacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1. Pliki¹ródªowe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1. constants.lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.2. persistent-data.lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.1.3. describe.lisp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.4. dzialania.lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1.5. gramtab.lisp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.6. acttab.lisp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.7. game.lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.8. npc.lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1.9. zdarzenia.lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2. Formatplikówzdanymi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3
Zgłoś jeśli naruszono regulamin