Wikifunctions:Status-Updates/2024-11-07
◀ | ![]() ![]() |
▶ |
Der Traum einer universellen Sprache
Dieses Jahr hielt Galder Gonzalez bei der Wikimania 2024 einen Vortrag zum Thema “Abstrakte Wikipedia und der Traum einer universellen Sprache”. Der Vortrag kann jetzt auf Commons angesehen werden.
Galder arbeitet an seiner Doktorarbeit und präsentiert in diesem Vortrag seine aktuellen Ergebnisse zur Diskussion der Beziehung zwischen der Abstrakten Wikipedia und dem lang gehegten philosophischen Traum einer Universalsprache. Er diskutiert, was eine Sprache ist, und ordnet und präsentiert dann frühere Ansätze zu einer Universalsprache, wie von Llull, Descartes, Leibniz und vielen anderen.
Der Vortrag ist eine wunderbare Einführung in einige der historischen Wurzeln, die uns zur Abstrakten Wikipedia geführt haben. Viel Spaß beim Vortrag!
Katalog wurde überarbeitet
Der Funktionskatalog auf Wikifunctions war eine großartige Ressource zum Auflisten und Finden von Funktionen in Wikifunctions. Bisher war es eine einzelne Seite im Wiki. Jetzt, da Wikifunctions mehr als 1600 Funktionen hat, ist die Seite zunehmend unhandlicher geworden, und Benutzer:Theklan (ja, das ist derselbe, der den obigen Vortrag gehalten hat!) hat sie überarbeitet und in mehrere kleinere Seiten aufgeteilt. Jeder ist eingeladen, an der Verbesserung des Katalogs mitzuarbeiten und die Funktionen in Wikifunctions leicht auffindbar und auflistbar zu machen!
Letzte Änderungen an der Software
In letzter Zeit haben wir hauptsächlich an den größeren Quartalszielen gearbeitet, insbesondere am Laden von Wikidata (T376662), der Wikipedia-Integration (T376521) und dem Neuaufbau der Back-End-Plattform (T376668). Es gibt jedoch einige Verbesserungen, die wir letzte Woche veröffentlicht haben:
Wir haben die Anzeige des "Info"-Felds geändert, um die Bezeichnungen und Typen langer Eingaben deutlicher anzuzeigen (T373978). Wir haben den Lexem-Selektor so korrigiert, dass er den Rückfall-Mechanismus nicht beim Anlicken, sondern beim Auswählen verwendet. In der Praxis könntest du so eines der verschiedenen Lexeme mit derselben Bezeichnung auswählen (T377332). Beim Erstellen oder Bearbeiten eines Typumwandlers zeigen wir jetzt eine Meldung an, dass 'Z0' bei Bedarf automatisch ersetzt wird (T368087). Wir haben das Wikidata-Such-Widget geändert, um die Sprache deiner Benutzeroberfläche in der Anfrage weiterzugeben, sodass die erklärenden Bezeichnungen wie "Nomen" oder "Verb" jetzt in deiner Sprache angezeigt werden, sofern verfügbar (T378499).
Wir haben einige Leistungsverbesserungen im Front-End vorgenommen, die deutlicher geworden sind, seit wir das Abrufen von Wikidata aktiviert haben und du große Objekte wie Lexeme sehen kannst (T378169). Leider bedeutet dies, dass der benutzerdefinierte Dialog basierend auf der Analyse von "Fehlern" vorübergehend deaktiviert wurde. Wir hoffen, dies bald wieder in leistungsfähiger Form einzuführen. Wir haben die Anzeige der "Toast"-Erfolgs-/Fehlermeldung bei der Veröffentlichung so korrigiert, dass sie nicht als dünner vertikaler Streifen angezeigt wird (T377461). Wir haben einen Fehler behoben, der dazu führte, dass du manchmal auch nach der Veröffentlichung gefragt wurdest, ob du die Seite verlassen und Änderungen verwerfen möchtest (T377412).
Mit dem Entwickler-Werkzeug zum Laden vordefinierter Objekte in die Produktion von Wikifunctions.org kannst du jetzt auch Upstream-Änderungen interaktiv zusammenführen, ohne Änderungen der Community in dem Wiki wie Bezeichnungen oder Aliasse zu überschreiben (T335418). Wir verfügen jetzt über eine Reihe von Entwickler-Werkzeugen, mit denen du eine Kopie des Live-Inhalts von Wikifunctions.org erstellen und auf eine lokale Entwicklermaschine laden kannst, um Probleme, auf die du in der Produktion stößt, besser beheben zu können. Wir haben die Entwickleranweisungen in der README-Datei neu geschrieben, damit sie leichter zu befolgen sind und spezifischer auf das Ausführen und Konfigurieren lokaler Dienste eingehen. Schließlich haben wir eine Verbesserung unseres PHP-Codes vorgenommen, um das kommende PHP 8.4 zu unterstützen (T376276); danke an Andre Klapper für seinen ersten Commit zu WikiLambda.
In den letzten drei Wochen haben wir im Rahmen der Hinzufügung zu MediaWiki die Unterstützung für elf neue Sprachen zu Wikifunctions hinzugefügt: Z1940/laj (T376060), Z1941/mns (T375944), den Satz von Z1942/akb, Z1943/btd, Z1944/bts, Z1945/btx, & Z1946/btz (T376826), Z1947/mdh (T377851), Z1948/maw (T377797), Z1948/knc (T356144) und schließlich Z1950/cko (T377380).
Präsentationsreihe zu lexikographischen Daten und ihrer Nutzung
Diesen Dienstag begann eine Reihe von Präsentationen, präsentiert von Mahir Morshed. Die Folien dieser Woche sind verfügbar und es wird auch eine Aufzeichnung erwartet. Bis zum Ende des Jahres kannst du alle zwei Wochen an interaktiven Arbeitssitzungen teilnehmen, in denen es um die Bearbeitung von Lexemen, die Modellierung komplexer Lexeme und die Verwendung von Lexemen zum Bilden von Sätzen geht. Eine Übersicht aller Sitzungen ist auf Wikidata verfügbar.
Aufzeichnung des Freiwilligentreffens im November
Eine Aufzeichnung des Freiwilligentreffens dieses Monats ist jetzt auf Wikimedia Commons verfügbar. Wir haben die Neuigkeiten des Monats vorgestellt, nicht nur an einer, sondern an zwei Funktionen gearbeitet (einfache Zeitform von Verb und Minimum aus Liste natürlicher Zahlen) und hatten am Ende eine Reihe von Fragen. Viel Spaß mit dem Video!
Kurzvortrag bei der Wikiconvention francophone
Nicolas Vigneron hielt diese Woche auf der Wikiconvention francophone in Québec einen Kurzvortrag über Wikifunctions. Der Vortrag wurde gut aufgenommen und es gab besonderes Interesse an der Möglichkeit, Funktionen durch Komposition und ohne das Schreiben von Code zu erstellen.
Kommende Typen
Wir konzentrieren uns wieder stärker auf die Hinzufügung weiterer Typen und sehen uns die Typenvorschläge an. Im Chat für die Abstrakte Wikipedia / Wikifunctions ist eine lebhafte Diskussion über weitere numerische Typen entstanden (siehe Archive für 6. November und 7. November). Die Arbeit an den Typen und deine Gedanken im Chat sind willkommen und kommen jetzt gerade recht.
Funktion der Woche: einfache Zeitform von Verb
In vielen Sprachen hat ein Verb – der Teil eines Satzes, der sich auf die Handlung im Satz bezieht – eine andere Form, je nachdem, ob die im Satz beschriebene Handlung während des Sprechens des Satzes, davor oder danach stattfindet. Oft können Sprachen auch über komplexere Beziehungen des Satzes mit dem Zeitpunkt des beschriebenen Ereignisses sprechen, aber dies sind die drei grundlegenden Zeitformen.
Beim Freiwilligentreffen in dieser Woche haben wir uns die Funktion einfache Zeitform von Verb (Z19514) angesehen, die zwei Argumente annimmt, ein Lexem und eine natürliche Zahl, die die Zeitform darstellt: 0 für die Vergangenheit, 1 für die Gegenwart und 2 für die Zukunft. Die Funktion gibt einen einsprachigen Text mit der Darstellung der ersten relevanten Form zurück.
Die Funktion verfügt über zwei Tests: Der erste Test stellt sicher, dass das Futur des Malayalam-Verbs പോകുക der Malayalam-Text പോകും ist, und der zweite Test überprüft, dass die Vergangenheitsform des englischen Verbs scrutinize der englische Text scrutinized ist.
Die Funktion hat drei Implementierungen:
- Die JavaScript-Implementierung und die Python-Implementierung sind einfache Übersetzungen voneinander.
- Zunächst haben wir ein Array von QIDs, die die Zeitformen darstellen (Vergangenheit, Gegenwart und Zukunft). In Zeile 7 wandeln wir das zweite Argument in die relevante QID um, indem wir sie nach Nummer aufrufen
- Dann durchlaufen wir alle Formen des gegebenen Lexems und prüfen, ob eines der Merkmale der betrachteten Form mit der relevanten QID übereinstimmt, die zuvor ausgewählt wurde
- Wenn ja, hören wir mit dem Durchlaufen der Liste auf und geben die erste Darstellung dieser Form zurück
- Die Komposition funktioniert etwas anders, da uns Funktionen höherer Ebene zur Verfügung stehen, insbesondere einsprachigen Text aus grammatikalischen Funktionen zurückgeben. Diese Funktion wurde nach dem Freiwilligentreffen mit dem ausdrücklichen Ziel erstellt, bei dieser Funktion zu helfen: Sie nimmt das Lexem und eine QID und erhält den ersten einsprachigen Text basierend auf der grammatikalischen Funktion. Der Aufruf ist in zwei Schichten verschachtelter wenn-Funktionen verpackt, die je nach zweitem Argument die entsprechende QID als Parameter in diesem inneren Aufruf verwenden, um einsprachigen Text aus grammatikalischen Funktionen zurückzugeben.
Die Abdeckung mit Tests und Implementierungen ist in Ordnung, aber es gibt eine Reihe von Problemen mit der Funktion selbst:
- Wir haben eine ziemlich unnatürliche Abbildung von natürlichen Zahlen auf Zeitformen. Ein anderer Ansatz könnte darin bestehen, einen Typ für Zeitformen einzuführen und die Auswahl aus den Instanzen dieses Typs zuzulassen. Dadurch wird auch das Problem vermieden, mit Zahlen größer als 2 umgehen zu müssen, was derzeit nur einen unspezifischen Fehler auslöst.
- In vielen Sprachen gibt es keine Formen für alle drei Zeitformen. Die Funktion behebt das, indem sie einfach abbricht, wenn eine bestimmte Zeitform nicht gefunden werden kann.
- In manchen Sprachen wird die Zukunft (oder die Vergangenheit) nicht durch eine bestimmte Form, sondern durch eine Verbphrase dargestellt. Im Englischen könnte das z. B. “I am going to read” sein. Wir könnten diese für die jeweilige Sprache zusammensetzen, aber das wäre sprachspezifisch.
- In vielen Sprachen gibt es für eine bestimmte Zeitform mehrere Formen. Die Funktion behandelt dies, indem sie einfach die erste Form auswählt, egal, welche das ist.
- Es wird nicht sichergestellt, dass es sich bei dem Lexem tatsächlich um ein Verb handelt.
Es ist sinnvoll, mit einer einfacheren Implementierung des in dieser Funktion ausgedrückten Ziels zu beginnen und schließlich eine Funktion zu haben, die einfacher zu verwenden und gegenüber Randfällen robuster ist.