Wie geil ist das denn bitte? Vielleicht findet sich noch jemand, der ne GUI drüberstülpt! Aber die Idee finde ich klasse!
Kommandozeilen-Wörterbuch
Moderator: Wladimir30
- knutella2k
- Zar/iza
- Beiträge: 520
- Registriert: 12 Apr 2013, 01:03
- Wohnort: Mockba
Kommandozeilen-Wörterbuch
Abtrennung aus: viewtopic.php?f=21&t=20603, Norbert, Vize-Admin
Die Lage ist hoffnungslos, aber nicht ernst ...
- Norbert
- Globaler Moderator
- Beiträge: 13728
- Registriert: 30 Jun 2006, 11:25
- Wohnort: Nowosibirsk, Dresden
- Kontaktdaten:
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Zum Studieren ja, zum Arbeiten nein.
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Das war nicht Sinn und Zweck der Sache. Obwohl man sich die Manpage auch von einem GUI-Viewer rendern lassen kann, ist es eben praktisch, dass alles im Terminal läuft. Außerdem war die Idee, dass ich das Ding auf einem Linux-PDA laufen lasse.knutella2k hat geschrieben: ↑07 Okt 2019, 10:31 Wie geil ist das denn bitte? Vielleicht findet sich noch jemand, der ne GUI drüberstülpt! Aber die Idee finde ich klasse!
Aber wenn du eine Verwendung für eine GUI hast - es wäre relativ leicht das zu portieren z.B. mit lgi für Gtk. Oder man schreibt es in einer x-beliebigen Sprache neu... Hätte immer noch den Vorteil offline zu gehen gegenüber der Webseite.
Es gibt übrigens auch dieses Wörterbuch: https://russisch.urz.uni-leipzig.de/uni ... eutsch.htm
Es scheint besser zu sein von der Datenbasis her als openrussian. Nur leider nur für Windows (läuft schlecht unter Linux via Wine) und kommerziell. Aber ebenfalls offline. Meiner Erinnerung nach war es auch sehr langsam. Ich hatte den Eindruck da macht jemand lineare Suchen durch irgendwelche Wortlisten. Aber das könnte auch an Wine gelegen haben.
- knutella2k
- Zar/iza
- Beiträge: 520
- Registriert: 12 Apr 2013, 01:03
- Wohnort: Mockba
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Ohne da jetzt zu tief ins Technische zu gehen: Wie machst du das denn? Irgendwie über die Hash-Summen der einzelnen Begriffe? Und dann vergleichen mit den gehashten Begriffen aus der Datenbank?
Die Lage ist hoffnungslos, aber nicht ernst ...
- Wladimir30
- Globaler Moderator
- Beiträge: 5997
- Registriert: 07 Okt 2014, 11:14
- Wohnort: Celle / Wladimir
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Haste HASHisch in den Taschen, haste immer was zum Naschen
Nach dem Kaffee ist vor dem Kaffee
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Man könnte zumindest binäre Suche benutzen. Denke aber in diesem Fall dürfte ein Präfixbaum/Trie am besten wegkommen, mit einer Suchzeit von O(Wortlänge). Besser als eine Hashtabelle oder Binärbaum, wo alleine die Schlüsselberechnung schon O(Wortlänge) braucht (und dann kommt noch die Suchzeit dazu).knutella2k hat geschrieben: ↑08 Okt 2019, 09:52 Ohne da jetzt zu tief ins Technische zu gehen: Wie machst du das denn? Irgendwie über die Hash-Summen der einzelnen Begriffe? Und dann vergleichen mit den gehashten Begriffen aus der Datenbank?
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Ja entweder trägt man alle möglichen Suchbegriffe in einen Hash-Table oder einen Search Tree ein, von denen es viele Varianten gibt. Der Klassiker wäre ein Red-Black-Tree (google selbst). Wohl eher einen binären Suchbaum, da der Präfixsuchen erlaubt, was für Autovervollständigung von Suchbegriffen wichtig ist. Allerdings gehört etwas mehr zu einem Wörterbuch als suchen: man muss auch verschiedene Daten zusammenfügen und abspeichern und verwalten. Das wird dann eine Datenbank. Und anstatt die selbst zu schreiben, sollte man einem ein existierendes DBMS benutzen - da gingen bereits Jahrzehnte theoretische und praktische Vorarbeit rein. Und da openrussian als SQL-Datenbank-Dump vorliegt, ist das auch naheliegend und genau was ich gemacht habe. (Daher sagte ich auch, dass mein Script leicht zu portieren wäre - es ist prinzipiell nur eine Sammlung von SQL-Anfragen...) Wenn man weiß wie so eine SQL-Datenbank funktioniert, kann man Anfragen schreiben, die auf effiziente Operationen auf Suchbäumen intern optimiert werden. In diesem Fall musste ich allerdings noch eine Tabelle mit allen Flektionen (möglichen Suchbegriffen) anlegen, da das openrussian-Datenbank-Schema tatsächlich nicht besonders clever designt ist und effiziente Anfragen eben nicht erlaubt. Daher kann die openrussion.org-Webseite auch keine Suche nach beliebigen Flektionen. Und tatsächlich ist auch so eine Indextabelle nur ein Workaround. Man will eigentlich eine Fuzzy-Suche, da man ja in einem Wörterbuch nicht immer genau weiß wie ein Wort geschrieben wird. Mein Wörterbuch kann Glob-Pattern-Suchen, was für sich genommen schon praktisch ist. Da kannst du dann sowas schreiben wie "п?д?зрительный" wenn du gerade nicht weißt welcher Vokal reduziert wurde. Aber manchmal reicht das nicht um Wörter zu finden, deren Schreibweise man nicht genau kennt. Es wäre besser, wenn man "подазрительный" eingibt, man direkt "подозрительный" vorgeschlagen bekommt. So funktioniert Google auch. Und das geht über Fuzzy Search. (Frag mich gerade nicht, auf welchen Datenstrukturen das basiert!) Muss man allerdings nicht neu erfinden, da alle modernen DBMS dafür bereits Unterstützung haben. Ich werde es irgendwann auch in openrussian-cli einbauen.knutella2k hat geschrieben: ↑08 Okt 2019, 09:52 Ohne da jetzt zu tief ins Technische zu gehen: Wie machst du das denn? Irgendwie über die Hash-Summen der einzelnen Begriffe? Und dann vergleichen mit den gehashten Begriffen aus der Datenbank?
Kurz gesagt, nix besonderes so ein Wörterbuch. Nur Anwendung von mittlerweile 0815-Technologien, die auf jeder 2. Webseite zum Einsatz kommen.
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Tatsächlich wahrscheinlich nicht der Mühe wert irgendwelche Such-Datenstrukturen zu optimieren. Mit dem SQLite-Index (was auch immer das genau ist unter der Haube) komme ich ganz gut klar. Es geht auch "nur" um 60000 Wörter und ca. 690000 mögliche Suchbegriffe. Das ist heutzutage nicht mehr so viel, im Vergleich zu den Datenmengen die Wikipedia oder gar Google so verwaltet. Es ist eine natürliche Sprache, die wächst auch nicht plötzlich um Größenordnungen.m5bere2 hat geschrieben: ↑08 Okt 2019, 11:42 Man könnte zumindest binäre Suche benutzen. Denke aber in diesem Fall dürfte ein Präfixbaum/Trie am besten wegkommen, mit einer Suchzeit von O(Wortlänge). Besser als eine Hashtabelle oder Binärbaum, wo alleine die Schlüsselberechnung schon O(Wortlänge) braucht (und dann kommt noch die Suchzeit dazu).
Re: Erfahrungen mit dem ТРКИ (Test für Russisch als Fremdsprache)?
Ha! DAS versteh ich!Wladimir30 hat geschrieben: ↑08 Okt 2019, 09:56 Haste HASHisch in den Taschen, haste immer was zum Naschen
- knutella2k
- Zar/iza
- Beiträge: 520
- Registriert: 12 Apr 2013, 01:03
- Wohnort: Mockba
Re: Kommandozeilen-Wörterbuch
Die Sache ist einfach die, dass wir im Büro große Mengen an Russisch-Deutschen und Englisch-Deutschen - aber auch anderspaarige ...mmm ich nenne sie mal "digitale Sprachschätze" vorliegen haben. Das sind nicht nur ein paar, sondern große Mengen, und die beschränken sich nicht nur auf einzelne Wörter, sondern umfassen komplette Wortgruppen und Sätze.
Interessant wäre es, alles zusammenzuführen und Schlagwortsuchen zu ermöglichen nach dem Motto: Suchmuster "XY" wurde in allen Sprachschätzen in den folgenden 50+ Wort-/Satzkombinationen gefunden: ,... Um zu prüfen, ob bestimmte Begriffe oder Terme stets konsistent verwendet werden oder welche die gebräuchlicheren Lokalisierungen sind. Und das bestenfalls über mehrere Sprachpaare (RU-DE, RU-ES, RU-FR,...). ...und im Multiuser-Betrieb.
Hier stellte sich mir die Frage, ob die DB-internen Standardmöglichkeiten zur Indizierung, Fuzzy Search usw. performant genug wären. Oder ob es vielleicht schon speziellere Algorithmen gibt, die genau auf sowas ausgelegt sind. Ich bin aber auch nicht DB-Profi genug, irgendwelche cleveren Optimierungen dahingehend selbst auszuknobeln/vorzunehmen.
Interessant wäre es, alles zusammenzuführen und Schlagwortsuchen zu ermöglichen nach dem Motto: Suchmuster "XY" wurde in allen Sprachschätzen in den folgenden 50+ Wort-/Satzkombinationen gefunden: ,... Um zu prüfen, ob bestimmte Begriffe oder Terme stets konsistent verwendet werden oder welche die gebräuchlicheren Lokalisierungen sind. Und das bestenfalls über mehrere Sprachpaare (RU-DE, RU-ES, RU-FR,...). ...und im Multiuser-Betrieb.
Hier stellte sich mir die Frage, ob die DB-internen Standardmöglichkeiten zur Indizierung, Fuzzy Search usw. performant genug wären. Oder ob es vielleicht schon speziellere Algorithmen gibt, die genau auf sowas ausgelegt sind. Ich bin aber auch nicht DB-Profi genug, irgendwelche cleveren Optimierungen dahingehend selbst auszuknobeln/vorzunehmen.
Darauf lass uns einen bauen!
Die Lage ist hoffnungslos, aber nicht ernst ...