Geschrieben um 23:35 am 21.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | Im Zuge meines ersten IF-Projektes bin ich auf ein weiteres Problem gestoßen: Erstmal mein Beispielcode:
|
Geschrieben um 01:02 am 22.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Tja, I7 auf Deutsch ist leider nicht immer so intuitiv zu benutzen. Wenn Du per "[PlayerAuto]" den Objektnamen ohne Artikel ausgibst, wird die [^]-Endung nicht gesetzt (und auch keine andere), weil dem Programm der Kasus nicht bekannt ist, in dem die Endung stehen soll. Du hast ja durch blue dafür gesorgt, dass bei der Ausgabe mit unbestimmtem Artikel "dein" geschrieben wird. Deshalb gibt blue auch alles korrekt aus -- denn jetzt ist der Fall, der Nominativ, bekannt und der unbestimmte Artikel "Ein" ist jetzt "Dein": Mein Testspiel:
Dein rotes Auto strahlt im dumpfen Licht des Fensters. Eine andere Möglichkeit ist, die GerX-Textersetzung "[Objekt with <case>]" zu verwenden, die für genau einen solchen Fall, wie Du ihn beschrieben hast, vorgesehen ist. blue Bei deinem Beispiel wird 'PlayerAuto' übrigens mit ins Vokabular übernommen. (Es sei denn, du hast es privately-named gemacht.) Mein Testspiel:
Was würdest du nur ohne dein rotes Auto tun? Wahrscheinlich wieder Radfahren... Grüße, Christian |
Geschrieben um 04:37 am 22.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | Danke Christian, Die Ersetzung mit [Ein PlayerAuto] funktioniert soweit, nur leider geht dadurch die ebenfalls von mir benutzte Keyword-Färbung von Keyword Interface verloren. Die Ersetzung [PlayerAuto with nominative] funktioniert bei mir seltsamerweise nicht. Ich benutze die letzte Version von Gerx (mit PENDING special indefinite article) und die neueste Version des von dir kompilierten Compilers. Folgende Fehlermeldung wird ausgegeben:
Ich habe es auch in einem Projekt nur mit der German Extension und allen anderen deaktiviert versucht, selbes Ergebnis. Ein weiteres Problem:
|
Geschrieben um 10:06 am 22.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Strainer:
Sorry, die Phrase müsste lauten "[PlayerAuto with case nominative]"; ein Blick in den Phrasen-Index (Saying - Names with cases) hat mich drauf gebracht. Das steht leider auch falsch in der Doku. Aber mit gefällt die Kurzform ohne "case" eh besser. Vielleicht änder ich das mal. Oder man nimmt eine deutsche Phrase, die besser in die deutschen Ausgabetexte passt, z.B. "Dein [Fahrzeug im Nominativ] steht zur Abfahrt bereit.". Das gefällt mir eigentlich ganz gut. Zitat:
Kann ich hier nicht reproduzieren. Alle Vokabeln werden bei mir korrekt verstanden. Dein Code ist korrekt. |
Geschrieben um 14:35 am 22.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | Danke, [with case nominative] funktioniert perfekt. Ich habe mich im unteren Beispiel schlecht ausgedrückt: Ich versuche das Spiel mit Keyword Interface von Aaron Reed zu steuern, weshalb ich auch jeweils die Keywords benutze. In diesem Fall funktionieren auch bei mir alle entsprechungen wie "x eingang", allerdings funktioniert als keyword nur "Tür". Daraus schließe ich das es mit Keyword Interface zu tun hat, werde ich mir noch genauer ansehen müssen. Wie immer: Besten Dank für die schnelle Hilfe. MfG |
Geschrieben um 01:31 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | So, ich habe jetzt weiter getestet und bin auf folgendes gestoßen: blue Bei diesem Code bekomme ich folgenden Output:
|
Geschrieben um 02:44 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Bei mir funktioniert Keyword Interface überhaupt nicht mit GerX. Was benutzt du denn für eine Version? Edit: Ich habe die Richtungen mal auskommentiert. Dann compiliert es wenigstens durch. Wenn ich Deine Understand-Zeile weglasse, wird "eingangstür" als Keyword verstanden. Daran liegt's also nicht. Aber was da los ist, weiß ich nicht, da ich Aarons Extension noch nicht durchschaue. Aber ich fürchte, die muss man an den deutschen Parser anpassen. Wie auch immer. |
Geschrieben um 13:42 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Strainer:
Das schint doch das Problem zu sein. Wenn das erste Wort der Eingabe mit "ein" beginnt, nimmt der Parser an, es handle sich um eine Infinitiv-Form wie z.B. "einschlafen", die dann vor dem eigentlichen Parsen in "schlaf ein" umgewandelt wird. Wenn ich "ein" aus der Tabelle mit den Präpositionen für diesen Vorgang herausnehme (aus der Tabelle LanguageVerbPreps), dann funktioniert es! Vielleicht könnte man CheckInfinitiveClause() dazu überreden, das Verb nicht zu prüfen, wenn es 'no.verb' ist. |
Geschrieben um 14:11 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | Danke, das Entfernen von ein aus der LanguageVerbPreps Tabelle hat tatsächlich geholfen. Ich glaube die Vorsilbe "ein" für Infinitivverben zu verlieren ist nicht allzu tragisch, mir fallen da nur wenige passende Situationen ein. (einschalten wäre so eine) Wie du aber schon sagtest, evtl. lässt sich ja mit if-clauses was machen, leider ist GerX so gut wie 100% i6 Code, welchen zu verstehen schon etwas schwieriger ist als i7. Danke jedenfalls, im Moment komme ich sehr gut auch ohne die Vorsilbe aus und in Zukunft kann ich diese Tabelle nach möglichen Ursachen durchforsten. MfG |
Geschrieben um 14:23 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Strainer:
Aber das kann ja keine dauerhafte Lösung sein. Diese I7-Besonderheit, dass ein einzelnes Nomen eine Aktion auslösen kann (und das verb_word dann 'no.verb' ist) müsste man schon in GerX berücksichtigen, nicht nur in Hinblick auf die Keyword-Extension. Leider wird verb_word erst nach dem Prüfen auf Konversation -- und damit auch nach dem Prüfen auf einen Infinitv zu 'no.verb'. Hm, das muss bis zum Wochenende warten, wenn nicht jemand anderes vorher noch eine Idee hat ... |
Geschrieben um 15:03 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | ChristianB:
Also bis zum Wochenende ist überhaupt kein Problem Christian, nimm dir bitte alle Zeit die du brauchst, schließlich eilt es keineswegs. Es ist mir fast schon peinlich, aber bei der Übersetzung einer weiteren Extension, namentlich "Exit Lister von Gavin Lambert" bin ich auf ein weiteres Problem gestoßen, das mit der Eigenheit der deutschen Sprache zusammenhängt. Das ist der von mir angepasste Code der Extension: blue Momentan sieht die Ausgabe so aus(was eigentlich schon fast meinen Vorstellungen entspricht):
|
Geschrieben um 15:14 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Strainer:
Man könnte Räumen ein Geschlecht geben. Also vielleicht so etwas (ungetestet) blue Vielleicht klappt das ja schon. Die Spanier machend das, glaube ich, auch so oder ähnlich in ihrer Spanish.i7x. Grüße, Christian |
Geschrieben um 15:19 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | Super, werde das heute Abend gleich testen. MfG Edit: So, nach einigem herumprobieren hat alles wunderbar funktioniert. Ich habe die Definitionen folgendermaßen gemacht (als Vorbild diente hier die Definition der Artikel in GerX): blue Dies habe ich gleich in die Extension eingebaut, damit nicht jeder der den Exit Lister von Gavin Lambert nutzen möchte diese Definitionen erneut im Source einfügen muss. Außerdem macht es Sinn, alle Räume vorerst sächlich oder männlich zu definieren, da nur selten weibliche und noch seltener Raumnamen im plural vorkommen. Das nächste Problem, dem ich mich angenommen habe, ist die unschöne Ausgabe als Damit man aber die Wahl hat habe ich das ganze mit einem truth state gelöst. Mithilfe des Wertes "SummarizedPrepArticle"(von zusammengefasste Präposition+Artikel, könnte noch einen besseren Namen vertragen) lässt sich nun bestimmen ob man lieber die zusammengefasste oder die ausgeschriebene Schreibweise benutzen möchte. (Standardmäßig wird zusammengefasst zu "zum" und "zur") Für interessierte habe ich hier noch den neuen Source:
|
Geschrieben um 19:36 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Nochmal zu den Aktionen ohne Verben: Ein etwas besserer Workaround als das ruppige Entfernen einzelner Präositionen aus der Tabelle LanguageVerbPreps (wodurch manche Infinitve nicht mehr funktionieren) ist vielleicht das hier: blue Die Vokabeln, die die kritischen Präpositionen tragen, werden durch 'tuer' ersetzt, womit alles normal funktioniert. Edit: Ab GerX-Version 2/100226 werden im Zusammenhang mit Aktionen ohne Verb auch Substantive, die mit einer Präposition beginnen, korrekt verstanden. Allerdings schaffen es Objekt-Synonyme, die von Verben mit Präposition abstammen (z.B. "Aufseher"), immer noch nicht durch die Verben-Prüfung des Parsers. |
Geschrieben um 20:58 am 25.02.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 48 | ChristianB: Die Vokabeln, die die kritischen Präpositionen tragen, werden durch 'tuer' ersetzt, womit alles normal funktioniert. Daran hatte ich gar nicht gedacht, genial wie immer. ^^ |