Forum moved to if-forum.org
Autor Nachricht
<  Verbproblem: "denk an"
Mario Donick
BeitragVerfasst am: Di, 10 Apr 2012 - 15:50  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 14.02.2009
Beiträge: 49
Wohnort: Rostock

Hallo,

nach langer Zeit mal wieder eine Frage:

Code:

Table of Weltwissen
Topic          Gedanke
"Frau[f]"      "Sie war sehr hübsch."

Understand "denk an [text]" and "erinner [text]" as remembering.

Carry out remembering: say "Nichts.". Remembering is an action applying to one topic.

Instead of remembering a topic listed in the Table of Weltwissen, say "[Gedanke entry][paragraph break]".



Das benutzen von "erinnere die Frau" funktioniert, aber nicht "denk an die Frau".

Was muss ich tun, damit "denk an" funktioniert?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
stadtgorilla
BeitragVerfasst am: Di, 10 Apr 2012 - 17:39  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 04.04.2011
Beiträge: 785

liegt wahrscheinlich daran, dass die Aktionen "thinking" schon in inform7 und "thinking about it" in GerX implementiert sind. Schau mal im Actions-Index nach. Die dort aufgeführten Kommandos musst du dann mit "understand the command xxx as something new" abgreifen. Hoffe, das hilft weiter, gefährliches Halbwissen...
_________________
www.duke-itch.com
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Di, 10 Apr 2012 - 20:04  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Stimmt, der stadtgorilla hat's richtig erkannt!

So geht's in meinem Testspiel:

Understand the command "denk" as something new.

["denk" und "denk nach" --> thinking werden damit aber auch gelöscht!!! Notfalls wiederherstellen:]

Understand "denk" and "denk nach" as thinking.

Understand "denk an [text]" and "erinner [text]" as remembering.

Carry out remembering: say "Nichts.". Remembering is an action applying to one topic.

Instead of remembering a topic listed in the Table of Weltwissen, say "[Gedanke entry][paragraph break]".

Table of Weltwissen
Topic Gedanke
"Frau[f]" "Sie war sehr hübsch."


Was mich wundert ist, dass es sogar mit dem "[f]" funktioniert, das ja eigentlich nur für Objekte gedacht ist. Sogar mit Endungen klappt es: "denk an frauen" wird ebenso verstanden wie "denk an frauer" oder "denk an fraus". Wo das "[f]" bei der ganzen Sache wohl bleibt ... ?

EDIT: Das Topic wird als Consult-Grammar-Routine abgebildet, in der 'frau' und "[f]" getrennt behandelt werden. Das femininum-Token bleibt dabei allerdings ohne Effekt auf die weiblichen Pronomen, da es kein Objekt gibt, auf das sie verweisen könnten. Aber auch mit einem Objekt "Frau" im Spiel scheint es keine Probleme mit der Referenzierung der Pronomen zu geben, sodass das Genus-Token in einem Topic wohl ohne Probleme (aber auch ohne funktionalen Nutzen) verwendet werden kann. Wie schön ...
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mario Donick
BeitragVerfasst am: Mi, 11 Apr 2012 - 13:55  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 14.02.2009
Beiträge: 49
Wohnort: Rostock

Vielen Dank!

Wie unterscheidet Inform denn zwischen denk, denk nach und denk an? Reicht es, das so zu definieren wie in deinem Beispiel, oder muss ich, damit denk und denk nach normal funktionieren, noch irgendwas machen?

Das mit dem [f] hab ich einfach nur ausprobiert, damit ich den Artikel benutzen kann. Als ich statt "frau[f]" nur "die Frau" geschrieben hatte, ging das nicht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ChristianB
BeitragVerfasst am: Mi, 11 Apr 2012 - 14:19  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Mario hat folgendes geschrieben:
Wie unterscheidet Inform denn zwischen denk, denk nach und denk an? Reicht es, das so zu definieren wie in deinem Beispiel, oder muss ich, damit denk und denk nach normal funktionieren, noch irgendwas machen?

Die Definition von "denk" und "denk nach" im Beispiel ist die Originaldefinition. Die muss man aber, nachdem man "denk" per "understand as something new" gelöscht hat, wieder anlegen. In German.i7x lauten die Definitionen für "denk":

Code:
Understand "denk" or "denk nach" as thinking.
Understand "denk ueber [text] nach" as thinking about.
Understand "denk nach ueber [text]" as thinking about.
Understand "denk an [text]" as thinking about.

Leider kann man Satzmuster noch nicht selektiv löschen, sondern kloppt immer gleich sämtliche Satzmuster für ein Verb weg, wenn man das Verb löscht, oder in Inform-Sprache ausgedrückt, es als etwas Neues (als etwas komplett Neues) verstanden haben will. Deshalb muss man die Satzmuster, die man erhalten will, wieder entsprechend dem Original neu anlegen.

Mario hat folgendes geschrieben:
Das mit dem [f] hab ich einfach nur ausprobiert, damit ich den Artikel benutzen kann. Als ich statt "frau[f]" nur "die Frau" geschrieben hatte, ging das nicht.

Artikel in Vokabeldefinitionen sind grundsätzlich zu vermeiden. Die Artikel der Spielereingabe werden seit geraumer Zeit auch in (genauer: vor) Topics als Deskriptoren überlesen (ignoriert), deshalb brauchen sie nicht mit zu definiert werden. Weniger Definition (keine Artikel, keine Endungen, also all der ganze Kram, den der Parser ignoriert oder abschneidet) führt in GerX grundsätzlich zu mehr Verständnis des Parsers. Es gibt natürlich Ausnahmen, aber sonst wäre es ja auch öde.

Das "[f]" kannst du in einem Topic weglassen, da es dort keine Funktion hat. Allerdings stört es offenbar auch nicht. (Was gut ist, denn vielleicht kann man die Consult-Grammar noch mal zweckentfremden.)
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Mi, 11 Apr 2012 - 20:05  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

ChristianB hat folgendes geschrieben:
Leider kann man Satzmuster noch nicht selektiv löschen, sondern kloppt immer gleich sämtliche Satzmuster für ein Verb weg ...

Vielleicht ist es in diesem Fall eh besser, wenn man keine neue Aktion einführt, sondern einfach die nimmt, die GerX schon mitbringt und sie um die Erinnerungs-Verben erweitert:

Understand "erinner dich an [text]" as thinking about.

Instead of thinking about a topic listed in the Table of Weltwissen, say "[Gedanke entry][paragraph break]".


ChristianB hat folgendes geschrieben:
Sogar mit Endungen klappt es: "denk an frauen" wird ebenso verstanden wie "denk an frauer" oder "denk an fraus".

Das ist klar: Bevor der Parser die Eingabe sieht, werden schon alle Endungen abgeschnitten. Die alte Lib hat das je nach Kontext gemacht, aber deform schneidet bei allen Wörtern so lange "e/n" oder "em/en/es/er" ab, bis das Wort im Wörterbuch vorhanden ist, was natürlich beim händischen Parsen Probleme machen kann.

Dass das Gender-Token auch in Topics funktioniert, ist natürlich schön durchgängig.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Mi, 11 Apr 2012 - 21:50  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Martin hat folgendes geschrieben:
Das ist klar: Bevor der Parser die Eingabe sieht, werden schon alle Endungen abgeschnitten.

Mir war bis jetzt nicht klar, dass es für Topics mit den Consult-Grammar-Routinen so etwas wie eine parse_name gibt, mit der Topics als ganze Satzmuster und Verkettungen ("hans/grete/haensel/gretel") gebaut werden können. Ich bin zunächst fälschlich davon ausgegangen, dass I7 das Topic "Frau[f]" ganz stur nach I6 als 'frau[f]' übersetzt. Dann hätte "Frau" nach dem Abschneiden der Endungen nicht mehr geparst werden können. Das war der Grund für meine Verwunderung.

So eine komplexe Grammatik für Topics gab's doch in I6 noch nicht, oder?
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Do, 12 Apr 2012 - 6:51  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

ChristianB hat folgendes geschrieben:
So eine komplexe Grammatik für Topics gab's doch in I6 noch nicht, oder?

Nee. In Inform 6 lässt der Parser den Autor die Arbeit bei [topic]-Tokens machen. Er stellt nur die Indizes consult_from und consult_words zur Verfügung, die der Autor dann selbst beim Abfangen der jeweiligen Aktion interpretieren muss. Für Standard-Aktionen wie ##Ask, ##Tell oder ##Answer wird auch noch noun oder second mit dem ersten Wort des Topics belegt, das kein Descriptor ist. Das ist aber sehr krude: Es funktioniert nicht bei selbst definierten Verben, die das [topic]-Token nutzen.

Die Tabelle zu Beginn von Abschnitt 18 im DM4 zeigt das ganze Elend der I6-Topics. Der Code für das Maya-Wörterbuch und für den Priester in den Abschnitten 16 und 17 zeigt, wie man die Topics in I6 mit einer riesigen switch-Anweisung umsetzt.

Ich denke, es wird auch in I7 so gemacht, dass der Parser erst einmal klaglos alle Wörter als Topic akzeptiert und die Zuordnung erst bei der Ausführung geschieht. Die zusätzliche parse_name war nötig, um die Topic-Spalte in Tabellen allgemeingültig zu implementieren. Der Parser selbst ruft sie nie auf - es ist ja auch keine parse_name, sondern eine consult_grammar, die es in I6 so noch nicht gab.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mario Donick
BeitragVerfasst am: Do, 12 Apr 2012 - 10:02  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 14.02.2009
Beiträge: 49
Wohnort: Rostock

Martin hat folgendes geschrieben:

Vielleicht ist es in diesem Fall eh besser, wenn man keine neue Aktion einführt, sondern einfach die nimmt, die GerX schon mitbringt und sie um die Erinnerungs-Verben erweitert:

Understand "erinner dich an [text]" as thinking about.

Instead of thinking about a topic listed in the Table of Weltwissen, say "[Gedanke entry][paragraph break]".



Aber dann würde doch nur "erinnern" funktionieren, oder nicht?

Mein Ziel:

"denk an ...", "denk über ... nach", "denk nach über ...", "erinnere (dich) an ...", "erinnere ..." --> In Tabelle nachgucken und Text anzeigen.

"denk" --> allgemeinen situationsbezogenen Hinweis ausgeben.


D.h. die erste Form soll über ein konkretes Thema sein, die zweite Form allgemein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ChristianB
BeitragVerfasst am: Do, 12 Apr 2012 - 10:02  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Martin hat folgendes geschrieben:
In Inform 6 lässt der Parser den Autor die Arbeit bei [topic]-Tokens machen.

Ja, ich erinnere mich an Switch-Blöcke, die sich über mehrere hundert Zeilen erstrecken, in denen ich second befragt habe. Sehr unübersichtlich und starr.

Martin hat folgendes geschrieben:
Die zusätzliche parse_name war nötig, um die Topic-Spalte in Tabellen allgemeingültig zu implementieren.

Ich habe immer schon nach einer Möglichkeit gesucht, Vokabeln per Tabelle ins Wörterbuch zu schreiben. Eine Tabelle mit einer Topic-Spalte tut ja genau dies, wenn dazu auch für jede Vokabel eine Consult-Grammar-Routine erstellt wird. Immerhin gelangt das Wort so ins Wörterbuch.

Ich denke da beispielsweise an eine einfache Möglichkeit für den Autor, die bestehenden (Language)Synonyms- und Twins-Tabellen fortzuführen, ohne Einbinden von I6-Code oder das Kommando per "After translating a command into informese" zu verbiegen.
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Do, 12 Apr 2012 - 10:05  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Mario Donick hat folgendes geschrieben:
Aber dann würde doch nur "erinnern" funktionieren, oder nicht?

Nur wenn Du per "Understand .... as something new." etwas gelöscht hast. Ansonsten wird eine neue Satzmuster-Definition den schon bestehenden hinzugefügt.
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mario Donick
BeitragVerfasst am: Do, 12 Apr 2012 - 10:08  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 14.02.2009
Beiträge: 49
Wohnort: Rostock

ChristianB hat folgendes geschrieben:
Mario Donick hat folgendes geschrieben:
Aber dann würde doch nur "erinnern" funktionieren, oder nicht?

Nur wenn Du per "Understand .... as something new." etwas gelöscht hast. Ansonsten wird eine neue Satzmuster-Definition den schon bestehenden hinzugefügt.


Ach so, das heißt, wenn ich nicht "denk an" als Synonym für "erinnere" (also neues Verb "remembering") nehmen, sondern "erinnere" und "denk an" als Synonyme für (das bestehende?) "thinking about" nehmen würde, würde das auch gehen ... Hab ich das richtig verstanden?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
ChristianB
BeitragVerfasst am: Do, 12 Apr 2012 - 10:12  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Du brauchst nur, wie von Martin vorgeschlangen, das Satzmuster mit "erriner" hinzufügen und in der Regel dann die Aktion "thinking about" abfragen.

Welche Kommandos die Aktion triggern, kannst Du im Actions-Index einsehen:

Der Actions-Index hat folgendes geschrieben:
Typed commands leading to this action

"denk ueber [text] nach"
"denk nach ueber [text]"
"denk an [text]"
"erinner [text]"
"erinner dich an [text]"


Das funktioniert aber nur korrekt mit einer aktuellen GerX-Version, vor Version 3/111222 hieß die Aktion noch "thinking about it", die mit Topics nicht lief. Am besten die derzeitige "Testversion" installieren.

http://ifiction.pageturner.de/inform7/test/German_3-120407--TEST1.zip
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Do, 12 Apr 2012 - 12:40  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Ich habe noch einmal die Aktion "thinking about" im Actions-Index nachgesehen und genauer gelesen, was wir da so geschrieben haben:

Der Actions-Index hat folgendes geschrieben:
Thinking about some text (past tense thought about)
This action fires when an actor tries to think of or remember a topic, e.g. DENKE AN DEN LETZTEN URLAUB.

Da haben wir in die Beschreibung ja schon reingeschrieben, dass die Aktion auch fürs Erinnern da sein soll. Aber die entsprechenden Verben haben wir nicht implementiert; kein Wunder, dass Mario sie vermisst.

Ich habe die Satzmuster mit "erinner" für die Aktion "thinking about" jetzt in GerX hineingeschrieben und eine neue Vorabversion hochgeladen:

http://ifiction.pageturner.de/inform7/test/German_3-120412--TEST1.zip

Die neuen Satzmuster sind:

Code:
Understand "erinner [dich] an [text]" as thinking about.
Understand "erinner [text]" as thinking about.


Das "[dich]" ist etwas flexibler als einfach nur "dich", weil es auch "mich/uns/euch" abgreift, falls jemand >ICH MÖCHTE MICH AN DIE FRAU ERINNERN schreiben möchte.

Mario, mit dieser Version brauchst Du also grundsätzlich gar keine Änderungen an den Satzmustern mehr vornehmen (falls ich noch ein offensichtliches Kommando vergessen habe, bitte ich um einen Hinweis).
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mario Donick
BeitragVerfasst am: Do, 12 Apr 2012 - 13:27  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 14.02.2009
Beiträge: 49
Wohnort: Rostock

Mit der neuen Version muss ich dann schreiben:

Code:

Instead of thinking about a topic listed in the Table of Weltwissen, say "[Gedanke entry][paragraph break]".


?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 2
Gehe zu Seite 1, 2  Weiter
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05