Jump to content

Wikifunctions:Status-Updates/2024-05-10

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2024-05-10 and the translation is 100% complete.
Wikifunctions Status-Updates Translate

<translate> Abstract Wikipedia via mailing list</translate> <translate> Abstract Wikipedia on IRC</translate> <translate> Wikifunctions on Telegram</translate> <translate> Wikifunctions on Mastodon</translate> <translate> Wikifunctions on Twitter</translate> <translate> Wikifunctions on Facebook</translate> <translate> Wikifunctions on YouTube</translate> <translate> Wikifunctions website</translate> Translate

Flaggschifftyp für Aufzählungen: Monate des Gregorianischen Kalenders

Tafeln der zwölf Mondmonate, Ogata Kenzan (Japan, 1663-1743)

Wie wir letzte Woche angekündigt haben, umfasst unsere Arbeit für dieses Quartal die Entwicklung von Typenunterstützung für Aufzählungen. Eine Aufzählung ist ein Typ, der aus einer Reihe benannter Elemente besteht. Im Gegensatz zu offenen Typen wie natürlichen Zahl oder Zeichenketten, die spontan erstellt werden können und eine beliebige Anzahl von Elementen haben können, müssen bei einer Aufzählung alle Elemente vordefiniert sein. In Wikifunctions müssen alle Elemente einer Aufzählung unterschiedliche ZIDs haben und unterschiedliche Objekte sein.

Wir haben bereits einige Typen, die als Aufzählungen betrachtet werden könnten, wie etwa boolesche Werte (mit den beiden Werten wahr und falsch) und natürliche Sprachen (mit derzeit Hunderten von Werten). Wir werden in Wikifunctions noch viele weitere Aufzählungen benötigen, sei es für das Vorzeichen einer Zahl, Wochentage, Himmelsrichtungen und vieles mehr. Für die Generierung natürlicher Sprache werden wir sie benötigen, um grammatikalische Funktionen darzustellen, wie etwa grammatikalische Zahlen, die wir für die Funktion benötigen, an der wir im Freiwilligentreffen dieser Woche gemeinsam gearbeitet haben (siehe unten).

Genau wie im letzten Quartal mit natürlichen Zahlen haben wir einen Flaggschifftyp als ersten neuen Aufzählungstyp ausgewählt: Monate des Gregorianischen Kalenders. Die Community ist eingeladen, sich an der Diskussion der Spezifikation zu beteiligen: Soll diese auch den Julianischen Kalender umfassen? Gibt es einen guten Namen für einen einzelnen Typ, der beides abdeckt? Welche weiteren Überlegungen gibt es?

Wir möchten die Community auch darum bitten, ähnliche Aufzählungen für andere Kalendersysteme vorzubereiten und zu diskutieren, sodass wir, sobald dieser Typ funktioniert, zügig mit der Erstellung beginnen können, um für Parität zwischen den Kalendersystemen der Welt zu sorgen.

Abstrakte Wikipedia beim Hackathon

James, unser technischer Leiter, nahm letztes Wochenende als Freiwilliger am jährlichen Wikimedia Hackathon teil, der in Tallinn, Estland, stattfand. Er freute sich, mehrere Mitglieder der Wikifunctions-Community zu treffen und dabei zu helfen, die Visionen von Wikifunctions und der Abstrakten Wikipedia zu erklären. Es gab ausführliche Diskussionen über linguistische Variationen und darüber, wie unsere Community sie in zukünftigen Funktionen zur Sprachgenerierung modellieren könnte. Es war ihm ein Vergnügen, jemandem bei der Erstellung seiner allerersten Funktion zu helfen, auch wenn es aufgrund technischer Probleme zunächst nicht funktionierte. Er und der Rest des Teams freuen sich darauf, mit weiteren Personen über Wikifunctions zu sprechen.

Letzte Änderungen an der Software

In den letzten zwei Wochen haben wir uns auf die Bereiche konzentriert, die wir letzte Woche dargelegt haben – Identitätsunterstützung bei Typen, Verbesserungen der Beobachtbarkeit der Produktion, Verbesserungen des Designs der mehrsprachigen Benutzeroberfläche, Forschung für die zukünftige Wikipedia-Integration und vieles mehr.

Darüber hinaus haben wir einige kleinere Verbesserungen vorgenommen, die einigen von euch auffallen könnten. Wir haben das Front-End so angepasst, dass es Batch-Anfragen für Objekte verarbeitet und maximal 50 Elemente auf einmal erfasst, anstatt einer unbegrenzten Anzahl. In der Praxis haben wir dies zwar noch nicht erreicht, aber in Zukunft, wenn von der Community geschriebene Funktionen komplexer werden, wäre dies erreicht worden und hätte zu merkwürdigen Störungen im Front-End geführt (T359035). Wir haben einen fehlenden Teil der Internationalisierung in der Aria-Bezeichnung des Umschaltknopfs für Screenreader und andere unterstützende Geräte behoben (T362056).

Wir haben unsere doppelten Wartungsskripte zur Verwaltung vordefinierter Objekte konsolidiert und reloadBuiltinData in loadPreDefinedObject integriert. Wir haben die letzte verbleibende Funktion der internen ApiQueryZObjects Action API zur neuen Fetch REST API hinzugefügt, was uns in Zukunft die Migration auf diese günstigeren, schnelleren Aufrufe ermöglicht (T274269).

Der gesamte von Wikimedia bereitgestellte Code verwendet seit dieser Woche die neueste Version der Codex UX-Bibliothek, v1.5.0. Obwohl wir nicht glauben, dass die Aktualisierung der Bibliothek für den Benutzer sichtbare Änderungen bei unserer Verwendung von Wikifunctions mit sich bringen wird, kommentiere bitte in der Projektdiskussion oder erstelle einen Phabricator-Task, wenn du ein Problem entdeckst.

Freiwilligentreffen am 6. Mai

Wir haben uns am Montag mit einigen unserer wundervollen Wikifunctions-Freiwilligen getroffen. Wir haben unsere Arbeit für dieses Quartal ausführlicher besprochen und gemeinsam eine Funktion für sprachspezifische numerische Singular- und Pluralformen erstellt. Die Aufzeichnung der Veranstaltung ist auf Wikimedia Commons verfügbar.

Funktion der Woche: Binomialkoeffizient (Z13848)

Binomialkoeffizienten geben die Anzahl der Möglichkeiten an, wie man eine bestimmte Anzahl von Elementen aus einer größeren Menge auswählen kann, unabhängig von der Reihenfolge. Sie werden oft als "n über k" dargestellt, wobei n die Gesamtzahl der Elemente und k die Anzahl der auszuwählenden Elemente ist.

Stellen wir uns beispielsweise vor, wir haben fünf Perlen in verschiedenen Farben (Rot, Blau, Grün, Gelb, Orange) und möchten nach dem Zufallsprinzip jeweils zwei davon auswählen. Der Binomialkoeffizient "5 über 2" würde uns sagen, wie viele verschiedene Perlenpaare wir herstellen können. In diesem Fall wären es 10 Paare:

  1. Rot und Blau
  2. Rot und Grün
  3. Rot und Gelb
  4. Rot und Orange
  5. Blau und Grün
  6. Blau und Gelb
  7. Blau und Orange
  8. Grün und Gelb
  9. Grün und Orange
  10. Gelb und Orange

Binomialkoeffizienten helfen dir also herauszufinden, wie viele Kombinationen du aus einer Reihe von Elementen erstellen kannst. Das Bild zeigt unsere Funktion, die für "5 über 2" ein Ergebnis von 10 zurückgibt.

Mathematisch gesehen stellt der Binomialkoeffizient, oft als (nk) bezeichnet, die Anzahl der Möglichkeiten dar, k Elemente aus einer Menge von n unterschiedlichen Elementen auszuwählen, ohne deren Reihenfolge zu berücksichtigen. Er wird mit der folgenden Formel berechnet:

(nk) = n!/k!(n-k)!

Wobei n! (gelesen als "n-Fakultät") das Produkt aller positiven Ganzzahlen bis n bezeichnet und k! die Fakultät von k ist, und so weiter. Wir haben auch eine Funktion für die Fakultät, die in einer der Kompositionen verwendet wird.

Die Funktion für Binomialkoeffizienten auf Wikifunctions hat 4 Implementierungen – 2 Kompositionen und 2 Implementierungen in Python:

Binomialkoeffizienten werden in der Praxis bei Wahrscheinlichkeitsvorhersagen verwendet, um die Chance auf eine bestimmte Anzahl von Erfolgen in einer Reihe von Versuchen mit nur zwei möglichen Ausgängen oder die Wahrscheinlichkeit eines Lottogewinns zu berechnen, oder in der Kombinatorik, um verschiedene Möglichkeiten der Anordnung oder Auswahl von Dingen zu zählen, etwa die Verteilung von Gegenständen auf Gruppen oder die Auswahl von Mitgliedern für ein Komitee.