Geschrieben um 22:50 am 07.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 22 | Hallo. Nachdem mein erster Versuch, Synonyme verschiedenen Geschlechts in die Inform-Library einzubinden, nicht ganz funktioniert hat (es gab eine Menge Fälle, wo es zu Problemen kam), bin ich gerade dabei, die zweite Version fertigzustellen. Die neue Methode müsste eigentlich sehr gut funktionieren, nur bei den Pronomen bin ich mir unsicher, so dass ich gerne mal eure Meinung hören möchte, welche Lösung die "Beste" ist. (Im folgenden gehe ich immer davon aus, daß man eine "Tür" vor sich hat, die man auch als "Tor" bezeichnen kann)
Es ist verschlossen.
Ich weiß nicht, was mit "es" gemeint ist.
Es ist...
Dir fehlt der ...
Es ist hier fest verankert.
Hier befürchte ich, dass der Spieler "vollgelabert" wird, was wahrscheinlich der Motivation nicht gerade zuträglich sein wird. Evtl. könnte man auch zwischen zwei Möglichkeiten während des Spiels hin- und herschalten. Was meint ihr, welche Möglichkeit würdet ihr als Spieler als Angenehm empfinden, und falls euch noch eine bessere einfällt, schreibt sie mir! Wir löst TAG eigentlich dieses Problem? Ich hoffe, ihr könnt mir weiterhelfen. Dennis |
Geschrieben um 23:02 am 07.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 284 | Gute Frage. Das ist ein echter Schwachpunkt bei Inform. Ich glaube TAG kann für jedes Synonym ein Geschlecht festlegen. Dadurch ist die Bezeichnung sehr viel flexibler. Ich bin kein Informatiker, kann also keine Lösung für die Bibliothek vorschlagen. Aber dankbar wäre ich auch für jede Verbesserung dieser Situation. ("d" wäre nur etwas für den verbose-Modus) |
Geschrieben um 23:08 am 07.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Kairo:
Und das deutsche Inform kann das seit V16 jetzt auch, Jippie!! Danke, Dennis. Könnte man es auch so einrichten, dass immer Pronomen und Geschlecht des zuletzt verwendeten Synonyms gelten? Würde das klappen? Ansonsten fände ich die Variante d am Besten, vielleicht würde aber (nehme für "es" die Tür) reichen? Schließlich weiß der Spieler ja, dass er zuletzt "Tor" eingegeben hat. |
Geschrieben um 23:14 am 07.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 404 | Ich persönlich mag Antwort d am wenigsten. Solche Klammermeldungen gehen mir meistens auf die Nerven. Möglichkeit c scheint mir ganz passabel: Zumindest die Situation aus Deinem Beispiel dürfte eher selten eintreten. Aber eine dauerhafte Lösung ist das auch nicht. Deshalb: Schnorb den Schnorb! g |
Geschrieben um 23:32 am 07.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 22 | ChrW:
Würde das klappen? Wie meinst du das? Soll nach Eingabe von "Tor" "sie" nicht mehr für "Tür" stehen? Im Moment werden sowohl die Pronomen, die für das "richtige" Geschlecht stehen gesetzt, als auch u.U. Pronomen, die für das Geschlecht des Synonyms stehen. Wenn ich dich mit dem Geschlecht richtig verstehe, meinst du, dass eine Tür, die Tor genannt wurde, solange neutral ist, bis sie wieder Tür genannt wird, oder bin ich da auf dem Holzweg? BTW: Das würde leider nicht funktionieren:
Und das der Name des Objektes abhängig vom Synonym gesetzt wird, könnte dazu führen, dass der Spieler mehr Objekte wahrnimmt, als da sind:
ChrW:
Ja, vielleicht sollte man nur einmal ausführlich darauf hinweisen, danach nur noch kurz. Oder man ist immer kurz und knapp, und lässt den Autor in der Hilfe erwähnen, warum der Computer manchmal Pronomen "falsch" setzt und sogar noch damit prahlt. Apropros: Der Spieler weiß zwar, was er eben eingegeben hat, das setzen des Pronomens kann aber weiter zurückliegen:
Ich werde erstmal die "verkürzte" Form implementieren. Das wird wieder ekelig, da die Meldung nur einmal pro Zug auftauchen darf, selbst wenn der Parser mehrmals nachfragt :? (außerdem wird die entsprechende Routine auch sonst 3-4mal pro Objekt aufgerufen) |
Geschrieben um 00:30 am 08.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Joghurt:
Ups. Ich gebs zu, das war ein Schuss in den Ofen. Jetzt ist es soweit: Ich will jemanden anrufen! Am besten Martin. Eine Frage: Müsste bei Beispiel C durch "öffne tür" das Pronomen nicht auf "sie" zurückgesetzt werden? Wenn der Spieler gerade (bzw. zuletzt) das Wort Tür benutzt hat, warum sollte der Parser beim nächsten Befehl davon ausgehen, dass "es" die Tür meint und nicht das Schweinchen? Kirk: "Schätzen, Spock!" Spock: "Was wollte er damit sagen?" Pille: "Dass er sich bei Ihren Schätzungen sicherer fühlt als bei den Berechnungen jedes anderen..." |
Geschrieben um 01:33 am 08.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 22 | ChrW:
Nein, bei Beispiel C nicht, aber bei dem Beispiel, was ich in meinem letzen Posting gegeben habe schon ops:: Die Deutsche Library setzt ja die Pronomen neu, wenn die Raumbeschreibung gegeben wird; nach "look" ist "es" also wieder das Meerschweinchen. Chrw:
Weil er sich sonst alle vorherigen Objekte, die für das Pronomen standen, merken müsste. Es reicht nicht, nur das letzte zu nehmen, denn das könnte ja ebenfalls ein "Synonymobjekt" gewesen sein, und wenn man das wieder "richtig" bezeichnen würde, wäre das Pronomen undefiniert, aber in dem Fall könnte ich einfach ein "passendes" Objekt auswählen. Hmmm... Die Idee scheint nicht schlecht zu sein, was meint ihr anderen denn dazu? |
Geschrieben um 10:23 am 08.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Das Pronomen-Problem hat zwei Seiten. Ich erkläre am Besten einmal, wie es in T.A.G. gemacht ist: (a) Ausgabe T.A.G. verwendet (zumindest in seinen Standard-Texten) nie ausschließlich Pronomen, es wird immer der Name genannt:
Das mag etwas unelegant sein, löst aber das Problem. Außerdem weiß so der Spieler, wie ein Promonem in seiner Eingabe interpretiert wurde, und der lästige Klammertext fällt weg:
Das finde ich schöner als
Die Original-Lib von Inform verwendet of "those" und "that" in seinen Meldungen: "That cannot be opened." Die deutsche Lib verwendet mittlerweile dazu oft Pronomen (anstelle der früher üblichen "das" und "dies"), was bei Synonymen mit verschiedenen Genera komisch klingt. Pronomina, die mit Textbefehlen wie [er] ausgegeben werden, benutzen immer das Geschlecht, das im Namen angegeben ist. (b) Eingabe T.A.G. kennt zu jedem Synonym ein eigenes Geschlecht, z.B.:
Intern wird eine Art Stack angelegt, auf dem die zuletzt benutzen Substantive abgelegt werden. Ein Substantiv mit dem selben Genus-Code ersetzt eines, das bereits auf dem Stack war. der Genus Code berücksichtigt den Genus (m, f, n und p) und ob es sich um eine Person handelt. Bei einem anfangs leeren Stack würden folgende Eingaben
folgende Pronomen auf den Stack legen:
Die Lampe wurde von der Truhe verdrängt, der Schlüssel vom Schatz. Die Prinzessin verdrängt die Truhe aber nicht, weil sie eine Person ist und daher einen anderen Genus-Code hat. Wenn ein Pronomen eingegeben wird, dann wird das oberste passende genommen: Bei Prüfung auf Akkusativ meint "sie" das erste, das weiblich oder Plural ist, bei Dativ-Prüfung meint "ihm" das erste, das männlich oder sächlich ist. Die anderen ("ihn", "es", "ihr", "ihnen") sind vom Genus her eindeutig.
Wenn ein Pronomialadverb ("damit", "darüber") angegeben wird, wird das oberste Nicht-Personen-Objekt genommen, im Beispiel oben der Schatz. Das erste Objekt wird nach dem zweiten auf den Stack geschoben. Daher bedeutet bei:
"sie" die Truhe. Wenn Synonyme verwendet werden, die einen vom Objekt abweichenden Genus haben, werden beide Genera auf den Stack geschoben:
Jetzt bedeuten sowohl "sie" (Eigabe) als auch "es" (Ausgabe) das Tor. Das funktioniert nur, wenn die Ausgabe explizit das Tor erwähnt, was in den Standard-Texten der Fall ist. (Der Stack ist übrigens kein richtiger Stack, da kein Objekt "heruntergenommen" wird, der Stack kann nur wachsen, nie schrumpfen.) So, hiermit ist ein weiteres großes Geheimnis des T.A.G.-Parsers gelüftet. Ich hoffe, die Vorgehensweise ist klar und hilft beim Erweitern der Inform.de-Lib. |
Geschrieben um 20:55 am 09.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 22 | Ich habe heute mal wieder ein bisschen Zeit gefunden, an den Pronomenroutinen zu basteln. Im Moment macht sie folgendes:
Also:
Soweit, sogut. Etwas inkonsistent wird es wie gesagt nur, wenn mehrere Objekt mit Synonymen v.G. angesprochen werden:
Jetzt bedeuten sowohl "sie" (Eigabe) als auch "es" (Ausgabe) das Tor. Das funktioniert nur, wenn die Ausgabe explizit das Tor erwähnt, was in den Standard-Texten der Fall ist. Bei InformDE wird "es" ebenfalls gesetzt, unabhängig davon, ob das Tor erwähnt wurde oder nicht. Das sollte meiner Meinung nach aber kein Problem sein, da "> pronomen" sowieso "es: das Tor, sie: das Tor" anzeigen würde. Nun meine zwei Fragen:
Wenn alles gut geht, kann ich Max dieses Wochenende die neue Version schicken. PPS: Ich habe auch das Pronominaladverb 'darauf' hinzugefügt, ich hoffe, damit eine neue Ära in der Kommunikation mit dem Parser eingeleitet zu haben (denn jetzt kann der wichtigste Befehl überhaupt verstanden werden):```Du siehst hier den Schlorb.
|
Geschrieben um 21:56 am 09.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Die Lösung ist klasse! |
Geschrieben um 22:26 am 09.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Joghurt:
Ja, das wird in T.A.G. auch so gemacht, ich habe mich wohl nur schlecht ausgedrückt. Das "(Ausgabe)" bedeutete nur, dass dieser Genus in der Ausgabe benutzt wurde und deshalb "es" und "sie" gesetzt wurden. Was T.A.G. nicht macht, ist, aufgelistete Gegenstände zu berücksichtigen:
:-( |
Geschrieben um 23:02 am 10.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 93 | Wow! Da kann man kaum mehr etwas hinzufügen... Ich finde den Vorschlag gut, mehrere Möglichkeiten anzubieten. Man könnte hier wieder über eine definierte Konstante das ganze steuern, wie wir es auch bei anderen Dingen in der deutschen Lib gelöst haben. Damit kann jeder sich seine Veriante selbst suchen... Im übrigen bin ich für Antwort c, da so häufig solche Verwechslungen (hoffentlich) nicht vorkommen. Ich gehe da von mit selbst aus - wenn ich etwas in einem Adventure probiere, dann sage ich beim ersten Mal "öffne das tor", bei allen weiteren Eingaben werde ich z.B. "drehe es", "nimm es", "schiebe es" schreiben. Dass ich "es" dann zehn Eingaben weiter wieder verwende kommt eher selten vor, weil ich mir ja schließlich so lange auch nicht merke, was "es" war... Im Übrigen könnte man die Lösung mit der Klammer [(nehme die Tür als "es")] ja per Metaverb steuern. Pronomen an/aus oder ähnliches. Dann könnte der Spieler selbst entscheiden. Ciao, Max. |
Geschrieben um 10:03 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Woher weiß denn die Lib, dass das Synonym "Tor" ein Neutrum ist, wenn das Objekt Tür nur das Attribut female hat, das für das gesamte Objekt gilt? Mit anderen Worten, wie wird festgestellt, dass man nach Gebrauch von "Tor" das Pronomen "es" setzen muss und nicht ein anderes? Die Inform-Lib unterscheidet in der Eigenschaft name noch nicht einmal zwischen Substantiven und Adjektiven, soweit ich weiß. |
Geschrieben um 12:00 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 93 | Martin:
Mit anderen Worten, wie wird festgestellt, dass man nach Gebrauch von "Tor" das Pronomen "es" setzen muss und nicht ein anderes? Die Inform-Lib unterscheidet in der Eigenschaft name noch nicht einmal zwischen Substantiven und Adjektiven, soweit ich weiß. Dennis hat dieses Problem gelöst. Die Lösung ist jetzt sehr ähnlich wie die von TAG, übrigens :-) Ciao, Max. |
Geschrieben um 12:03 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 238 | |
Geschrieben um 12:07 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 93 | Walafrid:
Schau dir die neueste Doku der Testing-Version an. Da ist es erklärt :-) Ciao, Max. |
Geschrieben um 15:08 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 22 | <td valign="top"><div class="post"><p><strong>Walafrid:</strong></p> <blockquote> <p><strong>mkalus:</strong></p> <blockquote> <p>Dennis hat dieses Problem gelöst.</p> </blockquote> <p>Und wie gelöst? Oder muss ich mir das in der Library anschauen?</p> </blockquote> <p>Hier mal ganz kurz das Verfahren:</p> <p>Beispiel Tür:```object Tuer "Tür"</p> <p> has female door locked ...</p> <p> with changing_gender</p> <p> name 'tuer' 'tor' neuter;```</p> <p>Wenn die Library nun bsp. 'tor' in der Name property gefunden hat, schaut sie nach, ob der darauffolgende Arrayeintrag ein Dictionaryword ist (diese müssten eigentlich alle einen Wert >255 haben, sonst würde es probleme geben. Das scheint aber der Fall zu sein (inform selbst nimmt das manchmal an), wenn es kein Dict-Eintrag ist, nimmt es an, es sei ein Geschlecht und setzt die Property changing_gender entsprechend.</p> <p>Das ist im wesentlichen das Verfahren, verkompliziert wird es noch durch einige Kleinigkeiten, die ich aber hoffentlich in den Griff bekommen habe.</p> <p>Diesen Sonntag wird wohl der Update an Max geschickt.</p> <p>Das mit der fehlenden Unterscheidung zwischen Substantiven und Adjektiven ist wirklich nervig und bereitet manchmal Probleme. Wenn ich es aber endlich geschafft habe, die "Platypus"-Library zu übersetzen, habe zumindest ich nicht mehr damit zu kämpfen, da ich dann Platypus benutzen werde. 8)</p></div></td> |
Geschrieben um 15:39 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 238 | |
Geschrieben um 16:18 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Joghurt:
Wird die Zusatz-Information auch für die Artikel in der Eingabe benutzt? Bisher hat Inform-de sie immer ignoriert, oder? Das wäre eine weitere tolle Sache. (Nützlich zum Unterscheiden von Substantiven wie "die/der See" oder "der/das Schild".) |
Geschrieben um 18:55 am 11.10.2002 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 22 | Martin:
Bis jetzt noch nicht. Wenn ich dazu komme, pack ich es noch rein (allerdings wohl nicht in die nächste Version) |