Erstellung neuer Einträge Bearbeiten

Folgendes ist das Verfahren, das ich benutzen will, um neue Artikel über deutsche Wörter bequemer zu schreiben:

  1. Das Wort in dem linken „Suche“-Kasten schreiben, und Seite klicken (nicht Suche!). Wenn es nicht gefunden wird, erscheinen einige Kästen. Das Wort in einen der unteren Kästen (Substantiv, Adjektiv, Verb, andere Wortart) schreiben, um die Basis des Artikels zu bekommen.
    1. Alternative: Den Text einer dieser Vorlagen herauskopieren: Adjektiv Substantiv Verb Name
  2. Quellen suchen, öffnen, und am Ende des Artikels schreiben:
    1. Goethe Wörterbuch. Wort suchen, ID aus URL kopieren und am Ende {{Ref-Goethe|Wort|id}} schreiben
    2. Grimm. ID aus URL kopieren und am Ende schreiben, in {{Ref-Grimm|Wort|id}}
    3. DWDS, {{Ref-DWDS|Wort}}
    4. UniLeipzig, {{Ref-UniLeipzig|Wort}}
    5. Canoo, {{Ref-Canoo|Wort}}
    6. der Wikipedia Artikel, falls möglich; {{Wikipedia|Wort}}
    7. Wörterbuch
  3. „Wort Wiktionary“ in Internet suchen, um es in anderen Sprachen zu finden. Verweise (wie [[xx:Wort]]) am Ende hinzufügen
  4. Deklination ergänzen
  5. Silbentrennung
  6. Aussprache (aus Wb)
  7. Bedeutungen (nummeriert) (aus: Wb, DWDS, Goethe, Canoo)
  8. Beispiele für jede Bed. (aus: Wb, DWDS, UniLeipzig)
  9. Charakteristische Wortkombinationen
  10. Redewendungen
  11. Herkunft, Synonyme, Gegenworte, Oberbegriffe, Unterbegriffe (Canoo, UniLeipzig)
  12. Abgeleitete Begriffe
  13. Übersetzungen. Quellen: andere Wiktionarys (vom Schritt 3), zweisprachige Wörterbücher, eigenes Wissen
  14. Andere Felder: Dialektausdrücke, Abkürzung, ähnliche Wörter
  15. Ein Bild in Commons suchen, wenn möglich. Es in der Deklinationstabelle beschreiben, z. B. {{Substantiv-Tabelle (Bild)| Bild=....jpg|250px|1|Titel
  16. Artikel vorschauen und speichern

Ich habe das hier geschrieben, weil ich gern möchte, dass dieser Prozess automatisiert wird. Man kann sogar ein JavaScript- oder CGI-Programm dafür erstellen. Wer hat LustZeit?

Daniel Clemente 22:04, 3. Feb. 2007 (CET)

Automatisierung Bearbeiten

Ich will ein Programm, um das Verfahren leichter zu machen. Es könnte lokal sein (z. B. ./prog.pl), oder eine Webseite mit einem CGI- oder Javascript-Code. Das Programm sollte eine bequeme Schnittstelle anbieten, wo man ein Wort beschreiben kann. Am Ende wird der Quelltext des Artikels erzeugt, mit dem ganzen Inhalt darin. Das Verfahren für den Benutzer sollte ungefähr folgendes sein:

  1. man schreibt ein Wort und wählt die Wortart
  2. das Programm öffnet automatisch alle Webseiten mit Quellen (Wikipedia, Wörterbücher mit diesem Wort, usw.)
    1. die ID-Nummer des Wortes soll automatisch erzeugt werden, falls benötigt (z. B. bei {{Ref-Goethe|Wort|...}})
    2. Umlaut-Umsetzungen werden automatisch durchgeführt wie benötigt (z. B. bei {{Ref-UniLeipzig|Wort}})
    3. diese Wörterbücher werden als Quellen aufgestellt (am Ende des Artikels, wie üblich)
  3. auch soll es gesucht werden, ob dieses Wort schon in anderssprachigen Wikiwörterbüchern vorkommt. Wenn das geschieht, sollen auch diese Webseiten geöffnet werden und am Ende hinzugefügt ([[xx:Wort]])
  4. Deklination, Aussprache, und Silbentrennung sollen in Eingabefeldern geschrieben werden:
    1. man soll die Information schon vorbereitet finden. Beispielsweise soll man bei „Silbentrennung“ schon das geschriebene Wort haben (mit seinen jeweiligen Varianten), und man muss nur die „·“ hinzufügen (oder vielleicht kann das Programm sogar das schon machen). Alles soll am bequemsten sein
    2. Natürlich ist die Anzahl und Art der Eingabefelder abhängig von der Wortart. Deutsche Adjektive brauchen z. B. 3 Felder (groß, größer, am größten), Nomen 8, (N-G-D-A, S und P), die Verben ganz mehr, etc. Deshalb muss das Programm viele Vorlagen kennen und unterstützen.
  5. Bedeutungen: alle werden zusammen beschrieben, d.h. man schreibe in ein Eingabefeld die Bedeutung [1], in ein anderes Feld unten die Bedeutung [2], usw.
  6. Übersetzungen: man schreibt sie alle zusammen. Dieses Thema ist ein bisschen kompliziert, denn sowohl die ursprünglichen Bedeutungen als auch die Übersetzungen zur Zielsprache können vielfältig sein (z. B.: [1,3,4] hacer, realizar)
    1. Das Erste ist, die Zielsprache zu wählen. Dafür wählt man den Code (z. B. „eo“) in einer Liste aus. Danach schreibt man die Übersetzungen in dieser Sprache:
      1. Man schreibe in ein Eingabefeld, für welche Bedeutungen diese Übersetzung gilt. Z. B. „1“, „4,5“, „?“, ...
      2. Man schreibe die Liste der Übersetzungen für diese Bedeutungen. Dafür muss man:
        1. Das Wort schreiben, z. B. „perro“
        2. Zusätzliche kleine Informationen zum Wort hinzufügen, z. B. {{m}} für das Geschlecht
      3. Das Programm wird alles kombinieren und die richtige Zeile in der Übersetzungstabelle schreiben, z. B.: *{{ca}}: [1] {{Ü|ca|classe}} {{f}}, {{Ü|ca|mena}} {{f}}, {{Ü|ca|tipus}} {{m}}; [2] {{Ü|ca|manera}}, {{Ü|ca|forma}}; [3] {{Ü|ca|espècie}} {{f}}
    2. Das soll für jede Zielsprache wiederholt werden.
  7. Jetzt hat man schon alle Bedeutungen und Übersetzungen. Das Nächste ist, jede Bedeutung zu vervollständigen, und zwar mit Hilfe der Beispiele, charakteristischen Wortkombinationen, usw. Das wird für jede Bedeutung einzeln gemacht, also man muss [1], [2], usw. nicht mehr benutzen. Für jede Bedeutung:
    1. Man schreibe ein Beispiel in ein Eingabefeld. Man kann noch mehr Beispiele schreiben in zusätzlichen Eingabefeldern.
    2. Für andere Felder braucht man einfach ein unbeschränktes Eingabefeld, denn die Struktur ist freier. Diese Felder werden aber häufig nur eine Liste von Komma-getrennten Links, also man muss wahrscheinlich dies erleichtern. Das gilt für:
      1. Charakteristische Wortkombinationen: man schreibe z. B. „[[ohne]] ''Zweifel'', in ''Zweifel'' [[ziehen]]“
      2. Redewendungen
      3. Synonyme
      4. Gegenworte
      5. Oberbegriffe
      6. Unterbegriffe
      7. Abgeleitete Begriffe
    3. Das war Alles für eine Bedeutung. Man soll diese Schritte für Jede wiederholen.
    4. Das Programm wird die Bedeutungsnummer (z. B. [1], [2], ...) automatisch in jedem Abschnitt schreiben
  8. Andere gemeinsame Felder können frei ergänzt werden:
    1. Herkunft
    2. Dialektasdrücke (oder vielleicht kann man eine festgesetzte Struktur dafür bieten)
    3. Ähnliche Wörter
  9. Wenn man Bilder hinzufügen möchtet, sollte man ein Eingabefeld haben, in dem eine Suche in Commons ausgeführt werden kann. Man kann dann folgendes für jedes Bild schreiben:
    1. Den Namen in Commons
    2. Die Bedeutungsnummer, der es entspricht
    3. Eine kurze Beschreibung
    4. Die gewünschte Größe
  10. Diese Bilder werden zur Vorlage in der Deklinationstabelle hinzugefügt
  11. Damit ist die Eingabe schon beendet
  12. Die Daten sollen überprüft werden. Wenn etwas Wichtiges fehlt, dann soll eine Warnung vorkommen, am besten mit Hilfe darüber, wie man die fehlende Sektion ergänzen kann
  13. Einige Felder (z. B. Übersetzungen) werden automatisch alphabetisch angeordnet. Auch die Ober-, Unter-, und abgeleiteten Begriffe, Synonyme und Gegenwörter, falls gewünscht.
  14. Das Programm soll den Quelltext des neuen Artikels zeigen, und die richtige Wiktionary-Seite öffnen, damit man diesen Text herauskopieren, korrigieren (falls benötigt) und speichern kann.

Wäre ein solches Programm nicht wunderbar? --Daniel Clemente 14:27, 18. Feb 2007 (CET)


Planung für ein solches Programm (und noch mehr Werkzeuge) Bearbeiten

Man braucht:

  1. Eine feste Syntax, die irgendwelchen Wiktionary-Artikel semantisch beschreiben kann, damit auch Computer diese Daten einfach verarbeiten können
  2. Einen Übersetzer, der einen Artikel in diese Syntax bzw. zurück in die Wiktionary-Syntax umwandelt
  3. Werkzeuge, die diese Syntax benutzen, um die alltäglichen Aufgaben der Benutzer einfacher zu machen. Beispiele:
    • Programm, das einen anhand einer vereinfachten Vorlage erstellten Artikel in einen Artikel umwandelt, der alle Bausteine enthält.
    • Programm, um die richtige Reihenfolge der Übersetzungen oder der Bausteine eines Artikels zu setzen.
    • Programm, um mittels einer interaktiven Webseite dem Benutzer viele Daten eines Wortes zu fragen, um am Ende einen Wiktionary-Artikel zu erzeugen.
    • Programm, um Artikel zu suchen, die noch Bedeutungen ohne Referenzen haben.
    • Programm, um Artikel zu suchen, die sich den Formatvorlagen nicht anpassen.
    • usw.

Begründung Bearbeiten

Erstens: Ich nenne:

  • WS: Die aktuell benutzte Wiktionary-Syntax
  • SPWS: Aus „strukturierte und prozessierbare Wiktionary-Syntax“, also eine neue Syntax, um Artikel zu beschreiben

Warum wird eine Syntax benötigt? Bearbeiten

Gründe:

  • WS ist sehr kompliziert um maschinell analysiert zu werden, denn jede Person schreibt Artikel anders, die Bausteine oder Inhalte haben keine feste Reihenfolge, man weißt nicht, welche Information vorkommen wird, usw.
  • Wir wollen WS nicht ändern; sie ist sehr frei (man hat wenige feste Regeln; nur Konventionen), und das ist schon gut für uns. Deshalb muss man SPWS als Brücke zwischen WS und den Programmen bilden.
  • Ohne Syntax müsste man in jedem Programm die Analyse bzw. Erzeugung von WS implementieren. Um das nicht zweimal zu wiederholen, arbeitet das Programm nur mit SPWS, und die Übersetzung WS<->SPWS wird von einem anderen Werkzeug gemacht.
  • Und mehr

Ich muss all dies noch mehr organisieren...

Entwicklung des Programms um neue Einträge zu herstellen Bearbeiten

(Dieser Abschnitt ist älter als derjenige über „Syntax“).

Benutzte Technologie Bearbeiten

Beispiele für mögliche Technologien:

  • JavaScript-Code
    • [JSL]: In einer lokalen Webseite
    • [JSI]: In Wiktionary integriert, gleich wie Navigation-Popups
  • Perl/Python-Programm
    • [PPC]: Als CGI in einem Webserver
    • [PPW]: Es enthält eigenen kleinen Webserver
    • [PPLS]: Lokal, für Shell
    • [PPLG]: Lokal, mit grafischer Benutzeroberfläche
  • [SEM1]: Alles semantisch. Beispiele:
    • [SXML]: Beschreibung der Wiktionary-Syntax durch XML
    • [SXFO]: Interaktives Formular durch XForms
    • [SXSL]: Erzeugung des Textes durch XSLT
  • oder auch [SEM2]:
    • [SYA]: Beschreibung der Wiktionary-Syntax durch YAML
    • [SYV]: Validierung der Syntax, z. B. durch kwalify
    • [SYÜ]: Erzeugung eines Übersetzers Wikt-YAML und YAML-Wikt
    • [SYP]: Programm (Perl, Pythom, Ruby, ...), das einfach die YAML-Syntax erzeugt, und dann den Übersetzer aufruft
  • ...

Hinweise:

  • das Programm soll Links öffnen, deshalb ist ein guter Umgang mit dem Webbrowser nötig
  • [JSI] ist langsamer als lokal
  • [PPLS] und [PPLG] sind nicht-Webseiten, deshalb muss man eine andere Schnittstelle benutzen
  • [SEM1]/[SEM2] wären doch ganz nützlich für die allgemeine EDV in Wiktionary
  • alle semantischen Technologien sind die Zukunft. „Semantisch“ ist noch besser als „Web 2.0“!
  • [SEM2] (mit YAML), ist m. E. das Sinnvollste und Nützlichste. Es vereinfacht viel die Programmierung anderer Werkzeuge, und außerdem passt die YAML-Syntax zu der Wiktionary-Syntax (besser als XML)
  • Natürlich kann man auch eine eigene Syntax entwickeln, die in einer Programmiersprach einfach geladen werden kann.

Ich kann aber das Projekt nicht weitermachen, weil meine Diplomarbeit auf Deutsch zu schreiben zeitraubend genug ist. Also du kannst natürlich all dies übernehmen, um die Erstellung neuer Einträge endlich zu vereinfachen. --Daniel Clemente