Jump to content

Wikifunctions:Status-Updates/2024-10-25

From Wikifunctions
This page is a translated version of the page Wikifunctions:Status updates/2024-10-25 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

Unser Ziel für dieses Quartal: Kongruenz

Vor zwei Wochen haben wir die erste Form des Zugangs zu Wissen auf Wikidata vorgestellt und letzte Woche angekündigt, dass sie eingeführt wurde. Diese Woche möchten wir skizzieren, was wir bis zum Jahresende anstreben.

Wie wir in den letzten zwei Wochen betont haben, gab es eine Reihe von Problemen, an denen wir arbeiten, um den Zugriff auf Lexeme und andere Entitäten auf Wikidata zu verbessern, von Problemen mit dem Selektor für Lexeme (die bereits behoben wurden) bis hin zu einem besseren Selektor und einer besseren Anzeige von Wikidata-Datenobjekten (an denen wir noch arbeiten). Vielen Dank an alle, die uns Rückmeldung gegeben und auf weitere Probleme hingewiesen oder uns geholfen haben, die Aufgaben zu priorisieren.

Doch was ist das Ziel für dieses Jahr? Worauf bauen wir hin, wo wollen wir Ende 2024 stehen?

Das Ziel besteht darin, Phrasen aus Lexemen unter Verwendung linguistischer Kongruenz bilden zu können. Was bedeutet das?

Viele Sprachen erfordern Kongruenz, um korrekt zu sein (einige Sprachen brauchen das nicht, wie etwa Japanisch, andere brauchen ein wenig, wie etwa Englisch, und wieder andere brauchen viel, wie etwa Swahili). Kongruenz oder Übereinstimmung bedeutet, dass ein Wort oder eine Phrase geändert werden muss, um in einen bestimmten Satz zu passen. Schauen wir uns ein englisches Beispiel an:

“Laura ate an apple.” vs “Laura ate two apples.”

Im ersten Satz muss auf das Wort “an” der Singular folgen, während im zweiten Satz auf das Wort “two” der Plural folgen muss. Der erste Satz hat also die Wortform “apple” und der zweite Satz die Wortform “apples”.

Viele Sprachen wie Italienisch, Hindi oder Ukrainisch haben grammatikalische Geschlechter für Nomen, wie zum Beispiel für die jeweiligen Wörter für Katze: Im Italienischen ist gatto männlich, auf Hindi ist बिल्ली weiblich und im Ukrainischen ist кішка ebenfalls weiblich. Wenn ein Nomen durch ein Adjektiv beschrieben wird, muss das Adjektiv in diesen Sprachen mit dem Geschlecht des Nomens übereinstimmen. Wenn wir also “kleine Katze” auf Italienisch ausdrücken möchten, würden wir sagen:

“piccolo gatto”

Schildkröte ist auf Italienisch tartaruga, was ein weibliches Nomen ist. Wenn wir auf Italienisch “kleine Schildkröte” ausdrücken möchten, würden wir sagen:

“piccola tartaruga”

Beachte die unterschiedliche Endung der Adjektive: Sie ist piccolo für maskuline Nomen und piccola für feminine Nomen.

Nehmen wir eine Funktion an, die zwei Argumente akzeptiert, beides Lexeme, eines ein italienisches Nomen, das andere ein italienisches Adjektiv. Im Italienischen steht das Adjektiv normalerweise direkt vor dem Nomen. Um jedoch die richtige Form zu wählen, müssen wir das grammatikalische Geschlecht des Nomens kennen. In Wikidata gibt es eine Eigenschaft für das grammatikalische Geschlecht. Bis zum Jahresende möchten wir es dir ermöglichen, eine Funktion in Wikifunctions auf ein italienisches Nomen anzuwenden und den Wert für das grammatikalische Geschlecht dieses Nomens zurückzubekommen, wenn es auf Italienisch angegeben ist.

Mit dem Wert für das grammatikalische Geschlecht kannst du dann das Adjektiv filtern, um die richtige Form auszuwählen. Sobald wir die richtige Form des Adjektivs und des Nomens haben, können wir die beiden mit einem Leerzeichen dazwischen verketten und erhalten eine grammatikalisch korrekte Phrase mit einem Adjektiv und einem Nomen.

Wir freuen uns darauf, dir diese Möglichkeiten anzubieten und zu sehen, was du damit aufbauen wirst.

Funktion der Woche: Pluralform von Lexem als einsprachiger Text

Da Lexeme auf Wikifunctions neu sind, werden wir uns diese Woche eine der brandneuen, von der Community erstellten Funktionen für Lexeme ansehen: Pluralform von Lexem als einsprachiger Text (Z19260). Du kannst zu dieser Funktion gehen, ein Lexem auswählen und die Funktion ausführen. Sie gibt die erste Pluralform dieses Lexems zurück.

Gib beispielsweise das englische Nomen goose ein, und sie wird geese auf Englisch zurückgegeben. Gib das spanische Nomen compás ein, und es wird compases auf Spanisch zurückgegeben. Diese Funktion sollte in jeder Sprache funktionieren und immer eine korrekte Form zurückgeben, sofern sie in Wikidata vorhanden ist (und wenn sie in Wikidata fehlt, kannst du sie gerne eingeben).

Die Funktion verwendet ein Argument vom Typ Wikidata-Lexem und gibt einen einsprachigen Text zurück (das heißt, einen Text in einer bestimmten Sprache).

Für diese Funktion wurden zwei Tests geschrieben: einer für Plural von dog ist dogs und einer für Plural von amigo ist amigos. Wir haben dieselben Probleme mit Tests wie letzte Woche: Die Tests hängen genauso stark von Wikidata wie von Wikifunctions ab. Der zweite Test veranschaulicht das gut: Es ist so, dass auf dem Lexem für das spanische Nomen amigo die Form amigos vor der Form amigas aufgeführt ist, aber beide sind korrekte Pluralformen, wobei erstere männlich und letztere weiblich ist. Die Formen hätten genauso gut andersherum geschrieben werden können.

Die Funktion hat eine Implementierung, die eine Komposition verwendet. Wir werden die Komposition von innen nach außen lesen.

  1. Zuerst rufen wir Lexemformen aus Lexem auswählen auf, mit dem Lexem im Argument und dem Plural (in einer Liste) als zweitem Argument. Dieser Aufruf filtert die Formen des Lexems heraus und lässt nur die Formen übrig, die den Plural als grammatikalische Funktion haben.
  2. Wir erzeugen das Echo des Ergebnisses, was eigentlich nichts bewirken sollte, aber Probleme mit typisierten Listen behebt. Wir hoffen, diesen Schritt in Zukunft loswerden zu können.
  3. Dann erhalten wir das erste Element der Liste, das zurückgegeben wurde. Das bedeutet, dass wir normalerweise eine Pluralform zurückbekommen, nicht die Pluralform: was auch immer zufällig die erste im Lexem ist.
  4. An diesem Punkt haben wir eine Wikidata-Lexemform zur Hand. Mittels Wert nach Schlüssel fragen wir nach den Repräsentationen der Form, die einen mehrsprachigen Text zurückgibt.
  5. Und schließlich können wir die Funktion nutzen, um aus einem mehrsprachigen Text den ersten einsprachigen Text zu erhalten und so zum gesuchten einsprachigen Text zu gelangen.

Derzeit schlägt die Funktion häufig fehl, da es beim Auflösen größerer Objekte und beim Auswerten komplexerer Kompositionen häufig zu Timeouts kommt (beispielsweise tritt bei einem deutschen Nomen wie Baum ein Timeout auf). Außerdem sollte der Aufruf von Echo nicht notwendig sein. Wir können diese Funktion als Benchmark zur Verbesserung der Fähigkeiten und Robustheit von Wikifunctions verwenden. Und gleichzeitig stellt sie, wenn sie funktioniert, einen wirklich interessanten Anwendungsfall dar.