Jump to content

Wikifunctions:Status-Updates/2025-11-27

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2025-11-27 and the translation is 100% complete.
Wikifunctions Status-Updates Translate

Abstrakte Wikipedia über Mailingliste Support-Team Abstrakte Wikipedia auf IRC Wikifunctions auf Telegram Wikifunctions auf Mastodon Wikifunctions auf Twitter Wikifunctions auf Facebook Wikifunctions auf Youtube Website von Wikifunctions Translate

Stimme über den Namen für das neue Wiki ab!

Es ist die letzte Woche der Abstimmung über den Namen des neuen Wikis, das die sprachunabhängigen Inhalte für Wikipedia und die anderen Projekte enthalten wird! Es stehen fünf Optionen zur Auswahl:

  • Abstract Wikipedia
  • Multilingual Wikipedia
  • Wikiabstracts
  • Wikigenerator
  • Proto-Wiki

Es ist ein Kopf-an-Kopf-Rennen! Mach mit und stimm für den Namen eines neuen Projekts ab!

Die Abstimmung ist bis Montag, den 1. Dezember 2025 um 18:45 UTC geöffnet.

Sätze des anderen beenden: “Ein Lipom ist ein gutartiger Tumor.”

In den letzten Tagen habe ich versucht, einen bestimmten Satz zu erstellen: “A lipoma is a benign tumor.”. Alle Voraussetzungen dafür sollten bereits erfüllt sein, also mal sehen, wie weit ich komme. Ich habe ihn in drei Teilziele unterteilt: “a black tumor”, “a benign tumor” und “A lipoma is a tumor.”.

“ein schwarzer Tumor”

Ich habe “schwarz” ausgewählt, da dieses Adjektiv mit hoher Wahrscheinlichkeit in vielen Sprachen vorkommt. Ziel ist es, mithilfe der Funktion Z22664 diese Nominalphrase zu erstellen. Hier ist der aktuelle Stand für alle in Z21733 unterstützten Sprachen:

Sprache Substantiv Adjektiv Phrase
QID Q133212 Q23445
Englisch tumour n black adj a black tumour
Französisch tumeur n noir adj une tumeur noire
Italienisch tumore n nero adj un tumore nero
Spanisch negro adj
Persisch
Deutsch Tumor n schwarz adj ein schwarzer Tumor *
Russisch агат n
Ukrainisch

Mit einem * gekennzeichnete Felder sind solche, die sich nach Beginn meiner Arbeit aufgrund von Bearbeitungen an den Daten oder Funktionen geändert haben.

Hier einige Fragen, die ich mir während des Prozesses gestellt habe:

  • Warum scheiterte die Erstellung der deutschen Phrase?
    • Das lag daran, dass schwarz keine männliche Form hatte. Das ist wahrscheinlich gut so! Deutsche Adjektive scheinen gut beschrieben zu sein, wenn man nur drei Grundformen hat (Normal, Komparativ und Superlativ), und der Rest scheint über Funktionen zu erfolgen. Damit das aber unterstützt wird, müssten diese Funktionen tatsächlich existieren.
    • Bevor mir das klar wurde, habe ich eine männliche Form (F4) hinzugefügt und dieses spezielle Beispiel zum Laufen gebracht, aber ich bin mir nicht sicher, ob das der richtige Ansatz war.
  • Warum gibt die russische Anfrage nach einem Adjektiv ein Substantiv zurück?
  • Können wir die fehlenden Felder in der Spalte für Substantive und Adjektive einfach hinzufügen?
  • Können wir weitere Sprachen zur Tabelle hinzufügen, insbesondere unsere Fokussprachen (Dagbani, Hausa, Igbo, Bengali und Malayalam)? Ist diese Funktion in diesen Sprachen überhaupt sinnvoll?
  • Sollte es im Englischen “tumor” oder “tumour” heißen? Können wir die Unterscheidung zwischen amerikanischem Englisch und britischem Englisch hier effektiv nutzen?

“ein gutartiger Tumor”

Für Englisch existierte bereits das Lexem benign, für Italienisch benigno und für Deutsch gutartig. Diese waren jedoch noch nicht mit Wikidata-Datenobjekten verknüpft. Der erste Schritt bestand darin, das passende Datenobjekt und die entsprechende Eigenschaft zu finden, um das Lexem zu verknüpfen. Zuerst prüfte ich welche Eigenschaften üblicherweise verwendet werden, um Adjektiv-Sinne zu verknüpfen und stellte fest, dass ein Objekt für diesen Sinn zu Benignität eine gute Verknüpfungsmöglichkeit darstellt. Ich konsultierte die lexikografische Community und fügte diese Verknüpfung hinzu.

Die Tabelle fasst die Situation zum Zeitpunkt des Verfassens dieses Newsletters zusammen:

Sprache Substantiv Adjektiv Phrase
QID Q133212 Q11680195
Englisch tumour n benign adj * a benign tumour *
Französisch tumeur n
Italienisch tumore n benigno adj * un tumore benigno
Spanisch
Persisch
Deutsch Tumor n gutartig adj *
Russisch
Ukrainisch

Mit einem * gekennzeichnete Felder sind solche, die sich nach Beginn der Arbeit geändert haben.

Die deutsche Nominalphrase wird aus demselben Grund nicht generiert wie im vorherigen Schritt. Auch hier dürften morphologische Funktionen zur Bildung regelmäßiger deutscher Adjektivformen der beste Weg sein.

“Lipom ist ein gutartiger Tumor.”

Nachdem wir nun die vorherige Teilphrase haben, wissen wir, dass wir den zweiten Teil der Phrase haben, die wir suchen. Z29591 ist bisher nur für Englisch verfügbar.

Sprache Substantiv Adjektiv Klasse Satz
QID Q689985 Q11680195 Q133212
Englisch lipoma benign adj * tumour n lipoma is a benign tumour. *

Mit einem * gekennzeichnete Felder sind solche, die sich nach Beginn der Arbeit geändert haben.

Auch hier tauchten im Laufe des Prozesses einige Fragen und Ideen auf:

  • Vielleicht können wir Teile von Z26039 wiederverwenden? Diese ist bereits in mehr Sprachen verfügbar.
  • Im englischen Satz sollte Z10771 wiederverwendet werden, um die Groß- und Kleinschreibung zu korrigieren.
  • Erst nach dem Prüfen anderer Artikel fiel mir auf, dass es “A lipoma is a benign tumor.” und nicht “Lipoma is a benign tumor.” heißen sollte, also eher wie Z26095. Das kommt davon, wenn man kein Muttersprachler ist!

“Ein Lipom ist ein Tumor.”

Nachdem mir aufgefallen war, dass wir am Anfang einen unbestimmten Artikel benötigen, habe ich mir die bestehende Funktion Z26095 angesehen, um zu prüfen, ob sie den Satz “Ein Lipom ist ein Tumor.” erzeugen kann.

Obwohl es Funktionen für Englisch, Italienisch, Dagbani, Deutsch, Französisch und Niederdeutsch gibt, führte keine von ihnen zu einem Satz.

Die Englische Funktion hatte allerdings zwei Implementierungen — was normalerweise kein Problem darstellt. In diesem Fall jedoch verhielten sich die beiden Implementierungen unterschiedlich: eine basierte auf Lexemen, die andere auf Bezeichnungen von Datenobjekten. Dies führt zu unterschiedlichen Ergebnissen! Die erste Implementierung schlägt fehl, während die zweite funktioniert und den englischen Satz “A lipoma is a tumor.” ausgibt. Lipoma hat kein Lexem und das mag in Ordnung sein. Wir benötigen also Möglichkeiten, mit Situationen umzugehen, in denen wir nur ein Wikidata-Datenobjekt haben. Die zweite Implementierung erfüllt diese Anforderung. Ich denke jedoch, dass die beiden Implementierungen aufeinander abgestimmt werden sollten und nur eine von ihnen weiterhin verbunden bleiben sollte. Tatsächlich sollten wir wahrscheinlich zuerst prüfen, ob ein Lexem vorhanden ist, und nur falls nicht, auf die Bezeichnung des Datenobjekts zurückgreifen (vielleicht gibt es sogar bereits eine Funktion, die dies tut?).

“Ein Lipom ist ein gutartiger Tumor.”

Ich habe also eine neue Funktion Z29743 für diese Art von Satz erstellt, die drei Wikidata-Datenobjekt-Referenzen verwendet: für die beschriebene Klasse, das Adjektiv und die Oberklasse.

Damit konnten wir schließlich den Zielsatz “A lipoma is a benign tumour.” generieren.

Reflexionen aus dem Prozess

Mir ist bei der Arbeit hieran aufgefallen, dass die aktuellen Caching-Mechanismen diese Art von Arbeit erheblich verlangsamen können, da es manchmal sehr lange dauert, bis frühere Versionen geänderter Daten oder Funktionen aus dem Cache entfernt werden. Das müssen wir beheben, um die Arbeit der Beitragenden effektiver zu gestalten.

Im Laufe der Zeit ergaben sich einige weitere Beobachtungen:

  • Adjektivlisten statt einzelner Objekte: In der Diskussion auf Telegram wurde zu Recht angemerkt, dass Adjektive vielleicht besser als Liste anstatt als einzelnes Objekt dargestellt werden sollten, damit wir Dinge sagen können wie “A colt is a young, male horse.”
  • Konsolidierung der Determiniererlogik: Es ist problematisch, dass die vielen verschiedenen Determinierer zu den vielen verschiedenen Fragmenten führen. Wir müssen dies besser kapseln und sollten uns dabei an bestehenden Frameworks orientieren. Benötigen wir wirklich unterschiedliche Fragmentfunktionen für “Tokyo is a big city.”, “The Nile is a long river.”, “Ice is frozen water.” und “A foal is a young horse.”? Tatsächlich scheint Grammatical Framework dies zu kapseln und wählt automatisch die richtigen Determinierer für etwa fünfzig verschiedene Sprachen aus. Davon sollten wir lernen!

Möglichkeiten für Beiträge der Community

Ich habe dies für eine einzelne Sprache durchgesetzt, und es wäre großartig zu sehen, ob wir dies auch für weitere Sprachen, insbesondere für unsere Fokussprachen, umsetzen können, um die Leistungsfähigkeit dieses Ansatzes zu demonstrieren.

Meldet euch bitte bei mir im Wiki oder auf Telegram, wenn ihr es ausprobieren möchtet und Hilfe benötigt, oder wenn ihr relevante Daten zu Wikidata oder Funktionen zu Wikifunctions hinzugefügt habt. So kann ich den Fortschritt verfolgen und wir können sehen, für wie viele Sprachen das Ganze verfügbar sein wird. Ich würde mich freuen, wenn wir alle in ein bis zwei Wochen wiederkommen und sehen, welche Fortschritte wir bei dieser Aufgabe der Generierung natürlicher Sprache erzielt haben.

Teilbare Funktionsaufrufe

Im vorherigen Abschnitt haben wir bereits den Vorteil der teilbaren Funktionsaufrufe kennengelernt, eine fantastische, brandneue Funktion! Du kannst jetzt einen Link zu jedem Funktionsaufruf inklusive seiner Eingaben generieren und diesen mit anderen teilen. Beim Öffnen des Links wird der Aufruf automatisch rekonstruiert. So lassen sich Eingaben und Ergebnisse leicht nachvollziehen, das Verhalten überprüfen und gemeinsam an der Fehlersuche oder Verbesserung arbeiten.

Du kannst nun direkt auf einen Funktionsaufruf verlinken, inklusive aller Werte des Funktionsaufrufs, sodass du das Ergebnis sofort siehst. Diese Links lassen sich beliebig teilen. Die Funktion ist in unserer Dokumentation beschrieben.

Letzte Änderungen an der Software

Diese Woche haben wir einige Verbesserungen veröffentlicht, um Wikifunctions zuverlässiger, lesbarer und entwicklerfreundlicher zu gestalten.

Zunächst haben wir ein Problem im Veröffentlichungsdialog behoben, bei dem Benutzer keine Rückmeldung erhielten, wenn sie nach dem stillen Ablauf ihres Sitzungstokens versuchten, eine Bearbeitung zu veröffentlichen (T407207). Zuvor wurde beim Klicken auf Veröffentlichen lediglich die Schaltfläche abgedunkelt, ohne dass ein Hinweis auf den Fehler angezeigt wurde. Der Dialog erkennt nun abgelaufene Sitzungstokens korrekt und zeigt eine eindeutige Fehlermeldung an, die auf eine Abmeldung hinweist, anstatt eines stillen Fehlers. Dadurch wird sichergestellt, dass alle gültigen Kompositionen gespeichert werden können oder, falls dies nicht möglich ist, die Benutzer genau wissen, warum.

Eine neue, kompakte Lesemodus-Komponente für Wikidata-Aussagen ist jetzt verfügbar (T406612). Diese ersetzt die alte, umständliche ZObjekt-Darstellung durch eine übersichtlichere und besser verständliche Benutzeroberfläche. Aussagen werden nun einzeilig und strukturiert angezeigt, wobei Subjekt, Prädikat und Wert sowie ein erweiterbarer Bereich für Qualifikatoren, Fundstellen und Rang dargestellt werden. Das Ergebnis ist eine deutlich übersichtlichere und modernere Ansicht, die alle Details beibehält, ohne die bisherige visuelle Überfrachtung.

Wir haben außerdem ein Problem mit `Wikifunctions.Debug()` behoben (T407084), mit dem Entwickler Protokolle an die Antwort eines Funktionsaufrufs anhängen können. Diese Protokolle wurden zuvor im Metadaten-Dialog nicht korrekt angezeigt. Mit diesem Update erscheinen nun alle während der Ausführung generierten Protokolle als Liste unter “Ausführungs-Debug-Protokolle” im Fehler-Abschnitt des Metadaten-Dialogs. Dadurch lässt sich der Ablauf einer Funktionsausführung deutlich einfacher nachvollziehen.

Ein sehr besonderes Freiwilligentreffen am 1. Dezember

Am nächsten Montag, dem 1. Dezember 2025 um 19:30 Uhr MEZ, findet das letzte Freiwilligentreffen des Jahres statt. Wir planen, unsere übliche Tagesordnung einzuhalten, allerdings mit einer Besonderheit: Wir haben den Schlusstermin für die oben erwähnte Abstimmung über den Namen des neuen Wikis absichtlich auf 19:45 Uhr MEZ festgelegt. So können wir die Abstimmung live während des Treffens beenden und das Ergebnis (abgesehen von der möglichen Prüfung der Stimmberechtigung) direkt ermitteln.

Unsere übliche Tagesordnung wird den Rahmen für das Treffen bilden: Es wird Zeit geben, Fragen zu stellen und alle anfallenden Angelegenheiten zu besprechen, und, falls wir Zeit haben, gemeinsam eine Funktion zu schreiben.

Aufgrund der Feiertage im Januar (Wikipedia 25!) entfällt das Freiwilligentreffen im Januar und wir laden euch im Februar wieder ein!

Wöchentliche neue Funktionen: 38 neue Funktionen

Diese Woche hatten wir 38 neue Funktionen. Hier ist eine unvollständige Liste von Funktionen mit Implementierungen und bestandenen Tests, um einen Eindruck davon zu bekommen, welche Funktionen erstellt wurden. Vielen Dank an alle für ihre Beiträge!

Eine vollständige Liste aller Funktionen, sortiert nach Erstellungsdatum, ist verfügbar.