Zitat von linhart Da sind sicher auch unrichtige oder sehr ungebräuchliche Wort-Affix-Kombinationen dabei, aber ich weiß momentan nicht, wie ich die herausfinden soll. Das ist jetzt die große Herausforderung.
Hier brauchen wir unbedingt die Hilfe von baba, Marilu und debrecen!
Aber auch wenn wir vielleicht ein paar hunderttausend Wörter aus der Liste streichen können, bleiben noch zu viele. Ich habe soeben versucht, diese 7-Millionen-Liste mit Scrabble3D zu laden. Nach einer halben Stunde war erst ca. ein Viertel geladen, und da habe ich dann abgebrochen.
Ganz verstehe ich das aber nicht, denn das bisher verwendete magyar1c.dic enthält ca. 800.000 Wörter, braucht zum Laden aber nur 25 Sekunden. 7 Millionen müssten daher eigentlich in ca. 240 Sekunden = 4 Minuten geladen sein, das wäre zur Not noch tragbar (in der Hoffnung, dass es bald wieder einmal schnellere Computer gibt).
Linhart hat mir seine Siebenmillionenliste geschickt und ich habe um 15:14 Uhr begonnen, diese Liste im Programm zu laden. Bei mir lädt das Programm jetzt immer noch, und jetzt ist es 18:45 Uhr. Im Laufe von dreieinhalb Stunden ist gerade mal gut die Hälfte geladen. Linhart sagte mir, er habe die Liste in UTF-8 mit BOM abgespeichert.
Das heißt in Bussinchens eigenem Jargon: Die arme Echse*) kaut seit 3 1/2 Stunden an ihrer Riesenportion zähen ungarischen Gulaschs herum und kaut und kaut und würgt und würgt... Irgendwie bekommt ihr das nicht, es schmeckt ihr nicht, der Happen ist zu groß für sie. Wir müssen ihr die zähen Stücke wohl etwas mundgerechter servieren!
*) So nenne ich immer das Programm: die Scrabble3D.exe, meine Scrabble3D.Echse, meine Echse...
Warum ist das so? Ich verstehe das auch nicht. Aber schon unser magyar1C.dic (unser bisheriges Testdic) braucht bei mir wesentlich länger zum Laden als z.B. das deutsch.dic.
Mir ist immer noch nicht klar (trotz rtfm), ob die Wörterlisten am besten in ANSI, UTF-8, oder UTF-8 ohne BOM abgespeichert sein müssen. Scotty, du sagst immer, es müsse UTF-8 sein (ohne BOM, glaube ich), aber ich sehe, dass z.B. das deutsch.dic, das english.dic und das francais.dic alle in ANSI abgespeichert sind. Und die lassen sich doch einwandfrei im Programm laden. UTF-8 ohne BOM scheint für die lang-Dateien wichtiger zu sein als für die dic-Dateien. Oder bin ich da auf dem Holzwege?!
Wie soll Linhart die Siebenmillionenliste abspeichern?
Zitat von BussinchenLinhart hat mir seine Siebenmillionenliste geschickt und ich habe um 15:14 Uhr begonnen, diese Liste im Programm zu laden. Bei mir lädt das Programm jetzt immer noch, und jetzt ist es 18:45 Uhr. Im Laufe von dreieinhalb Stunden ist gerade mal gut die Hälfte geladen. Linhart sagte mir, er habe die Liste in UTF-8 mit BOM abgespeichert.
Dann schickte mir Linhart noch einmal dieselbe Liste in UTF-8 ohne BOM, wie Scotty gesagt hatte, und ich fing noch einmal von vorn an, dieses magyar2test.dic im Programm zu laden.
Ganz übel war das, denn ich ließ den PC über Nacht an und ließ das Programm laden, aber am nächsten Morgen war der Ladevorgang immer noch nicht abgeschlossen und er wurde den ganzen Vormittag bis in den Nachmittag hinein fortgesetzt. Besonders als der Fortschrittsbalken ungefähr Dreiviertel erreicht hatte, ging es extrem langsam vorwärts, manchmal glaubte ich, das Programm reagiere überhaupt nicht mehr und sei eingefroren. Doch dem war nicht so, es lud nur und lud und lud... Schließlich war das Dic fertig geladen. Ich wollte dann eigentlich ein paar Testspiele machen, aber dazu musste ich ja zuerst den ungarischen Buchstabensatz einstellen. Leider unterlief mir dabei ein dummer Lapsus. Mein Fehler bestand darin, dass ich nicht den Buchstabensatz neu aus dem Forum in die Einstellungen hineinkopierte, sondern auf meine Magyar-Voreinstellung klickte, woraufhin leider kein ungarisches Buchstabenset angezeigt wurde, sondern das deutsche, und es wurde - oh Graus! - zugleich das deutsch.dic geladen, obwohl die Dic-Einstellung doch gar nicht mit bei den Voreinstellungen abgespeichert wird! Nun war die ganze langwierige Ladearbeit, die die ganze Nacht plus den Vormittag bis hinein in den Nachmittag gedauert hatte, futsch! Oh weh!
Aber ich ließ mich nicht entmutigen. Scotty meinte ja, es ginge beim zweiten Laden schneller, wenn das Sortieren erst einmal erfolgt sei. (Obwohl mir nicht klar ist, was da eigentlich sortiert wird: Die Wörter standen doch bereits in alphabetischer Reihenfolge!) Daher fing ich gestern Punkt 17:00 Uhr noch einmal an, das magyar2test.dic zu laden. Es ging tatsächlich schneller als beim ersten Mal, aber es dauerte immer noch bis 01:15 Uhr. Das heißt, es hatte sage und schreibe 8 Stunden und 15 Minuten gedauert, bis die Siebenmillionenliste geladen war!!! Genau genommen sind es 7.874.201 Wörter! Also könnte man sagen, dass das Laden von jeweils einer Million Wörter im Schnitt gut eine Stunde gedauert hat, und das, obwohl ich einen neuen, schnellen Computer mit einem guten Prozessor habe. Ich verstehe nicht, warum das so ist. Scotty, kannst du uns das mal erklären? Was passiert eigenlich im Inneren des Programms genau, wenn ein Dic eingelesen wird? Das deutsch.dic mit seinen 665.000 Wörtern braucht doch auch nur wenige Sekunden, bis es geladen ist...
Nun gab ich den ungarischen Buchstabensatz manuell ein und startete ein Testspiel auf dem klassischen Spielbrett. Völlig gegen meine Erwartungen verlief das Spiel gegen den Computer einwandfrei und ohne jegliche Zeitverzögerung. Der Computergegner fand die Wörter genauso schnell wie bei einem deutschen Spiel mit geladenem deutsch.dic, der Rollstuhlbutton arbeitete einwandfrei und schnell, die Spielanalyse dauerte nach meinem Ermessen auch nicht länger als bei anderen, nicht-ungarischen Spielen, und die Demo lief auch zügig und normal. Auch in der Wortsuche werden eingegebene Wörter augenblicklich angezeigt, und Wörter, die der menschliche Spieler legt, werden augenblicklich angenommen oder abgewiesen (d.h. bei falschen Wörtern kommt die Umfrage sofort, ohne jegliche Zeitverzögerung). Nur als der Computerspieler einmal zwei Joker auf dem Bänkchen hatte, dauerte die Berechnung des Zugs sehr lang, schätzungsweise etwa so lang wie bei der Spielanalyse von Jokerzügen in einem 3D-Spiel. Leider hat es auch sehr lang gedauert, einen Zug zu berechnen, als gegen Ende des Spiels nur ein Joker auf dem Bänkchen war. Das würde ich jetzt aber trotzdem nicht direkt als unnormal bezeichnen. Damit ist erwiesen, dass das Spielen auf Ungarisch mit einer extrem aufgeblähten Dic-Datei von 98 MB Größe (!) überhaupt nicht langsamer geht als das Spielen in einer anderen Sprache mit "kleinen" Dic-Dateien. Das Problem ist lediglich die Dauer des Ladevorgangs! Die ist mit über 8 Stunden unerträglich! Wenn wir das in den Griff kriegen könnten, wäre viel gewonnen!
Nun bräuchten wir nur wieder ein paar Kommentare von unseren Ungarisch-Experten. Ich füge hier gezippt ein paar Testspielstände bei, die ihr im Programm laden könnt, und dann wüssten Linhart und ich gern, was ihr von den gelegten Wörtern haltet. Statt die Spielstände im Programm zu laden, könnt ihr aber auch nur die Screenshots anschauen. Finden sich da wieder absolute Nonsenswörter oder nicht?
Laden ohne Speichern ist wie Lesen ohne anzusehen. "Speichern" führt dazu, dass in meiner Reihenfolge abgespeichert wird (ABC...XYZÄÖÜ statt AÄBCD..XYZ). Eben dieses Einsortieren dauert sehr lang (wie ich schon mehrfach geschrieben habe). Man speichert ein WB mit dem Programm, indem ein oder mehrere Wörter verändert, hinzugefügt oder gelöscht werden.
Zitat von ScottyLaden ohne Speichern ist wie Lesen ohne anzusehen. "Speichern" führt dazu, dass in meiner Reihenfolge abgespeichert wird (ABC...XYZÄÖÜ statt AÄBCD..XYZ). Eben dieses Einsortieren dauert sehr lang (wie ich schon mehrfach geschrieben habe). Man speichert ein WB mit dem Programm, indem ein oder mehrere Wörter verändert, hinzugefügt oder gelöscht werden.
Oje! Genau dieses Speichern hatte ich nicht gemacht!
Aber: Bussinchen ist vorausahnend und hatte vorsichtshalber den PC heute wieder die ganze Nacht über angelassen. Und nicht nur das, auch Scrabble3D mitsamt dem geladenen Siebenkommaachtmillionentestdicmagyar2test.dic ( ) war die ganze Nacht an. Jetzt füge ich sofort das Wort SCOTTY in der Wortsuche linker Teil hinzu und speichere das Dic ab. So etwas hatte ich bisher noch nie gemacht - weil das bei mir bisher auch noch nie nötig war!
Nun habe ich eben auf das kleine Kreuz oben rechts im Hauptfenster geklickt, um das Programm zu schließen. Vor dem Schließen kam ein Dialogfenster, in dem ich gefragt wurde, ob ich das veränderte Wörterbuch abspeichern wolle. Ich antwortete mit Ja. Danach wurde abgespeichert, was am Fortschrittsbalken ersichtlich war, und das Programm schloss sich.
Und jetzt schauen wir mal, was passiert, wenn ich das Programm neu öffne!!! Wie lange wird das Laden des zuletzt eingestellten Siebenkommaachtmillionentestdicmagyar2test.dic dauern??? Es bleibt spannend!!! Spannend wie ein Krimi!!!
... ... ...
Leute!!! Scrabble3D ist das phantastischste Programm, das ich kenne!!! Unsere Echse*) mag jetzt diesen bis gestern noch so zähen, aber seit ein paar Minuten endlich lange genug gekochten und nunmehr butterweichen, zarten, leckeren Gulyas! Dieser Gulyas zerfällt ihr regelrecht auf der Zunge! Ohne zu husten, zu schmollen, zu prusten oder zu spucken verdrückt die liebe Echse jetzt die sieben Millionen Gulaschhappen in nur 40 Sekunden! Diese ganze Wahnsinnsriesenportion isst sie auf, ohne mit der Wimper zu zucken! Und schnell ging das, so schnell schaut man gar nicht, und fertig war sie!
40 Sekunden**)!!! Danke Scotty, für deine im Nachhinein zwar banal anmutende, aber für uns doch so wichtige Erklärung! Ohne die wäre der magyarische Gulyas für unsere Echse nie verdaulich geworden! Sie hätte jedes Mal 8 Stunden daran herumgekaut und -gewürgt, die Arme. Aber jetzt schmeckt es ihr vorzüglich, hat sie mir gesagt! Man merkt das, 40 Sekunden ist wirklich wenig, in der kurzen Zeit trinke ich nicht einmal eine Tasse Kaffee...
Yippiiiiiiiieeee!!!
Linhart!!! Wir brauchen uns ab jetzt keine Sorgen mehr um die Größe von Dic-Dateien zu machen!!! Selbst 98 MB sind ein Pappenstiel für die Echse, wenn wir ihr die Maxiportion nur lang genug weichkochen! Wie das Weichkochen geht, habe ich oben beschrieben! 40 Sekunden Wartezeit beim Laden - damit sollten unsere ungarischen 3D-Scrabbler klarkommen. Wem das nicht passt, der möge halt dann auf Deutsch oder Französisch spielen!
------------------------
*) "Echse" ist mein eigener personifizierender Kosename für mein geliebtes Programm Scrabble3D. (Scrabble3D.exe = Scrabble3D.Echse = die Echse )
**) 40 Sekunden mit einem modernen Computer von 2010, der mit einem schnellen i5-Prozessor ausgestattet ist. Bei älteren, langsameren Computern mit einfacheren Prozessoren mag das Laden sicher etwas länger dauern, wird sich vermutlich aber trotzdem noch im Rahmen des Akzeptablen halten.
Mit 100MB Dateien sollte man vorsichtig sein. Neben der Zeit zum Einladen sind auch RAM Bedarf und Bandbreite für den Download erheblich. Irgendwo hatte ich schon mal geschrieben, dass ich davon abrate. Außerdem ist zu bedenken, dass mit S3D gespeicherte WBs verschlüsselt sind. Und beim Speichern wird die Originaldatei überschrieben!
Zitat von Scotty1. Mit 100MB Dateien sollte man vorsichtig sein. Neben der Zeit zum Einladen sind auch RAM Bedarf und Bandbreite für den Download erheblich. Irgendwo hatte ich schon mal geschrieben, dass ich davon abrate. 2. Außerdem ist zu bedenken, dass mit S3D gespeicherte WBs verschlüsselt sind. Und beim Speichern wird die Originaldatei überschrieben!
zu 1.: Ja, das hattest du schon geschrieben. Ich merke auch gerade, dass das Laden der 98 MB-Datei in der VirtualBox mit Linux, wo ich nur 3 CPUs und magere 512 MB Hauptspeicher definiert habe, leider nicht so schnell geht wie unter meinem Win7-Host mit Intel Core i5-Prozessor und 6 GB RAM-Speicher. Meine Euphorie von vorhin ist daher schon wieder etwas gedämpft...
Nein, was rede ich: Es geht überhaupt nicht. Das Programm crasht immer, wenn ich das sortierte, abgespeicherte und verschlüsselte magyar2test.dic innerhalb der VirtualBox in der Virtual Machine mit Linux laden will. Es schließt sich nach einer Weile von ganz allein innerhalb der VirtualBox. Und mir ist sogar das Hauptprogramm VirtualBox auch schon zwei, drei Mal abgeschmiert... wahrscheinlich irgendwie wegen des Ladevorgangs in der Echse. Ich könnte ja testweise mal etwas mehr RAM und mehr CPUs für die LInux-VM definieren, um zu sehen, was dann passiert... Bin ja so neugierig!
zu 2.: Gut, dass du uns noch einmal ausdrücklich daran erinnerst, Scotty! Zum Glück hatte ich noch in einem anderen Verzeichnis die nicht mit der Verschlüsselung überschriebene Originaldatei von Linhart, die die ganze Nacht zum Laden braucht. Die zu haben ist schon gut, wenn z.B. baba mal reinschauen will, um stichprobenartig zu gucken, ob abstruse Wörter drin vorkommen.
Zitat von BussinchenNein, was rede ich: Es geht überhaupt nicht. Das Programm crasht immer, wenn ich das sortierte, abgespeicherte und verschlüsselte magyar2test.dic innerhalb der VirtualBox in der Virtual Machine mit Linux laden will. Es schließt sich nach einer Weile von ganz allein innerhalb der VirtualBox. Und mir ist sogar das Hauptprogramm VirtualBox auch schon zwei, drei Mal abgeschmiert... wahrscheinlich irgendwie wegen des Ladevorgangs in der Echse. Ich könnte ja testweise mal etwas mehr RAM und mehr CPUs für die Linux-VM definieren, um zu sehen, was dann passiert... Bin ja so neugierig!
Ich habe nun in meiner VirtualBox für die Linux-VM 4 CPUs und 2 GB RAM definiert und die Echse noch einmal das magyar2test.dic laden lassen - und siehe da, jetzt funktionierte es einwandfrei! Es dauerte ca. 50 Sekunden, nur ca. 10 Sekunden länger als unter meinem Host mit ebenfalls 4 CPUs und 6 GB RAM.
Danach habe ich in der VB für die Linux-VM 3 CPUs und nur noch 1000 MB RAM eingestellt und die Echse abermals das besagte Siebenmillionendic laden lassen. Nach 5 Minuten und ca. 45 Sekunden ist mir die Echse in der VB abgeschmiert (nicht die VB selbst), und das mehrmals. Zwischendurch wurde auch das Fenster von Scrabble3D immer wieder schneeweiß, was ich als Würgen der armen Echse interpretiere, der die Portion, die ich ihr vorgesetzt hatte, unter diesen Bedingungen wohl doch etwas zu groß war. Es hat jeweils auch sehr lang gedauert, bis der Fortschrittsbalken überhaupt sichtbar wurde. 1000 MB RAM sind also offenbar zu wenig. Da helfen selbst 4 CPUs nicht. Bei 3 CPUs und 1500 MB RAM hat es dann aber wieder geklappt: erst nach ca. zweieinhalb Minuten wurde der Fortschrittsbalken sichtbar, das gesamte Laden hat knapp 4 Minuten gedauert. Es hat sich also gezeigt, dass die Anzahl CPUs weniger Bedeutung hat als die Größe des RAM-Speichers. Da sieht man mal...
Meine Tests haben ergeben: Um ein Siebenmillionendic überhaupt laden zu können, braucht man offenbar einen RAM-Speicher von mindestens 1,5 GB.
So deutlich wie jetzt in den Tests in meiner VirtualBox wurde mir die Bedeutung der Größe des RAM-Speichers noch nie vor Augen geführt. Das ist wirklich hochinteressant für mich. Man sagt so was immer so lapidar dahin oder hört und liest es, soundsoviel RAM hat man oder braucht man... Man liest es in der Reklame für Computer, die in dem oder dem Laden im Angebot sind... Aber mal ganz konkret zu erleben, was 1000 MB mehr oder weniger tatsächlich ausmachen, das ist schon sehr beeindruckend! Und: Ohne eine virtualisierte Hardware kann man sich so etwas gar nicht in dieser Art vor Augen führen, weil man am realen, physischen PC weder RAM-Größe noch Anzahl CPUs modifizieren kann (ich wüsste jedenfalls nicht wie). Das scheint mir nur in dem virtuellen PC der VirtualBox möglich zu sein - per Einstellungen/Optionen unter System für die betreffende Virtual Machine. Toll! Dadurch gehe ich seit heute auch wieder etwas versierter mit den Einstellungen der VB um. Das ist für mich das wunderschöne "Abfallprodukt" des Scrabble3D-Projekts: Man wird durch Scrabble3D immer wieder um eine Erfahrung reicher! Wieder was dazugelernt!!!
Das ist ja eine ganz tolle Sache, dass es also doch einigermaßen realistisch ist, mit so einer großen Wortliste zu arbeiten. Aber ich muss deine Begeisterung doch ein wenig dämpfen, Bussinchen. Denn jetzt haben wir wieder das Problem, wie wir die ungültigen oder extrem ungewöhnlichen Wörter aus der Liste eliminieren sollen. Wenn ich nur die Wörter nehme, die z.B. im Web-Corpus mindestens 8-mal vorkommen, dann fällt wieder ein Großteil der Suffixkombinationen weg, und es bleiben nur ca. 400.000 Wörter übrig. (Ich glaube aber eigentlich, dass das für nicht allzu ambitionierte Spieler durchaus reichen würde.)
Zitat von linhartDas ist ja eine ganz tolle Sache, dass es also doch einigermaßen realistisch ist, mit so einer großen Wortliste zu arbeiten. Aber ich muss deine Begeisterung doch ein wenig dämpfen, Bussinchen. Denn jetzt haben wir wieder das Problem, wie wir die ungültigen oder extrem ungewöhnlichen Wörter aus der Liste eliminieren sollen. Wenn ich nur die Wörter nehme, die z.B. im Web-Corpus mindestens 8-mal vorkommen, dann fällt wieder ein Großteil der Suffixkombinationen weg, und es bleiben nur ca. 400.000 Wörter übrig. (Ich glaube aber eigentlich, dass das für nicht allzu ambitionierte Spieler durchaus reichen würde.)
Naja, ist schon so. Und Tante Bussinchen und Onkel Linhart sollten natürlich auch auf Papa Scotty hören, damit es unserer Echse auch wirklich unter allen Bedingungen gut geht. Auch in der Puszta!
Und warte mal ab, bis wir das Magyar Értelmező Kéziszótár in der CD-ROM-Version haben. Dann sehen wir weiter. Bestellt ist es noch nicht, aber baba will diesbezüglich erst noch mit einem Bekannten in Ungarn sprechen.
Zitat von Linhart vorhin in einer privaten Mail an BussinchenHallo Martina,
hier kommt das neueste magyar.dic. Es enthält nur mehr ca. 340.000 Wörter, sodass ich schon überlege, bis 12 Buchstaben zu gehen. Aber vorher möchte ich dich und baba bitten, es ein bisschen auszutesten. Bei mir hat das erste Spiel ganz gute Wörter ergeben.
Ciao, Hans.
Ich habe gleich mal ein Testspielchen gemacht und stelle zumindest mal den Screenshot hier ein, damit die Ungarischkundigen die gelegten Wörter kommentieren können. Mir erscheint z.B. das Wort ÖLTSD auf L3 waagrecht rein von der Lautung her seltsam...