The on-wiki version of this newsletter can be found here:
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-08-31
Wikifunctions at Wikimania 2023
We presented Wikifunctions at *Wikimania 2023*
<https://wikimania.wikimedia.org/wiki/2023:Wikimania>, the annual gathering
of Wikimedians from all around the world. This year, Wikimania saw
participants from 138 languages. The conference was held from 16 to 19
August in Singapore.
<https://meta.wikimedia.org/wiki/File:Wikimania_2023_Singapore_Blue_Header_l…>Wikimania
2023 in Singapore, August 16-19
It was exciting to see the Wikifunctions logo featured during Wikimania as
part of logos of the Wikimedia projects on the materials and big screens -
including on the largest high definition video wall in the world, according
to the Guiness Book of Records. It was even more exciting to present
Wikifunctions to the Wikimedia community.
We had two sessions, one that featured a presentation and question and
answer session, *Wikifunctions is here*, where we discussed where we are
and our plans, and were listening to the ideas and requests from the other
projects. A recording of this session is available, split in two parts with
a slight gap due to technical difficulties (one
<https://www.youtube.com/watch?v=sKoMYHnZhEk&t=20046s>, two
<https://www.youtube.com/watch?v=ldHYoD_1j5I>). The Wikimania organizers
are still working on uploading the individual parts to Commons, and we hope
to have an unbroken recording in the future.
The second session, *First steps with Wikifunctions*, was a tutorial with
the goal of taking contributors to work on their first function. We are
very happy about how the tutorial went. All participants managed to create
their first function on Wikifunctions. We are particularly happy about the
people who self-described themselves as non-developers also being able to
successfully follow the tutorial and work on functions, tests, and
implementations themselves. We certainly identified steps that need
improvement, particularly for creating tests and for the selection of
arguments in implementations, and we are grateful for these having clear
ways forward. A recording of the first part
<https://www.youtube.com/watch?v=YiwjqxqSENs&t=24940s> of the session is
available, but we did not record the working part of the session.
We want to thank the organizers of Wikimania for providing us with a stage
to present Wikifunctions, and the attendees who gave such valuable feedback!
CoSMo language
Members of Abstract Wikipedia’s natural language generation special
interest group (NLG SIG) under the lead of Maria Keet and Kutz Arrieta have
worked on the CoSMo content selection modeling language. CoSMo is a
language that enables the specification of which pieces of structured data
to use to drive the generation of a piece of text. This allows to decide
what part of the billions of statements in Wikidata would be considered
relevant for the generation of a given piece of text in Abstract Wikipedia.
Maria describes CoSMo and its background further in her blog post “CoSMo: a
content selection modelling language
<https://keet.wordpress.com/2023/08/20/cosmo-a-content-selection-modelling-l…>”
on the Keet blog. The full tech report is available on Arxiv
<https://arxiv.org/abs/2308.02539>.
GFpedia demo
Over the last few weeks, Krasimir Angelov, one of the developers of
Grammatical Framework (GF), and member of the NLG SIG, has developed
GFpedia, a system to demonstrate how parts of Abstract Wikipedia could work
using GF technology.
A few example pages:
- The Netherlands in English
<https://cloud.grammaticalframework.org/wikidata/index.wsgi?id=Q55&lang=en>
- Sweden in Bulgarian
<https://cloud.grammaticalframework.org/wikidata/index.wsgi?id=Q34&lang=bg>
Grammatical Framework <https://en.wikipedia.org/wiki/Grammatical_Framework> is
a programming language focused specifically on writing grammars for natural
languages, both for parsing and generation. In this case, the demo calls
the data from Wikidata and uses it to drive the generation of text. It is
using a template per type of entity, i.e. you will find the same template
used for every country, whereas many other types have smaller or no
templates currently.
CCKS keynote on Wikidata and Wikifunctions
On Sunday, Denny gave the keynote presentation to the 17th China Conference
on Knowledge Graphs and Semantic Computing <https://sigkg.cn/ccks2023/en/> in
Shenyang, China. In the keynote he presented Wikidata and Wikidata’s
lexical extension as well as Wikifunctions. The pre-recorded presentation
is available on YouTube <https://www.youtube.com/watch?v=MXEctjXD_GU>. The
questions in the Q&A session focused entirely on Wikifunctions, and the
interest in our new project was delightful.
The on-wiki version of this newsletter can be found here:
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-08-14
--
Wikifunctions at Wikimania
This week is Wikimania 2023 in Singapore
<https://wikimania.wikimedia.org/wiki/2023:Wikimania>!
<https://meta.wikimedia.org/wiki/File:Wikimania_2023_Singapore_Blue_Header_l…>
Under the motto “Diversity. Collaboration. Future”, the Wikimedia
communities are having their annual event, for the first time since 2019 in
Stockholm again also in person. The motto could not be any more fitting for
Wikifunctions, a project where we hope that in the *future* the *diversity* of
Wikimedia projects will *collaborate* with each other more and deeper than
it has ever done before.
Only weeks after taking Wikifunctions online, we are looking forward to
presenting Wikifunctions at the conference, and to gather feedback and
discussions about the project, in order to shape its future and to let more
people know what Wikifunctions is aiming for.
We will have two sessions in the program:
- On Thursday, August 17, at 15:30-16:30 local time / 7:30-8:30 UTC
<https://zonestamp.toolforge.org/1692257416>, we will have our main
sessions, *Wikifunctions is here*
<https://pretalx.com/wm2023/talk/ZBXFNP/>. We will present the vision of
Wikifunctions, in particular how it can be helpful for the other Wikimedia
projects, for example for your local language Wikipedia and Wiktionary. We
will give a live demo of the project, and we will invite you to answer any
questions you may have, discuss ideas, and collaborate on the future of
Wikifunctions and how to integrate it with your home projects. We expect
this session to be streamed and recorded.
- On Friday, August 18 at 16:45–18:00 local time
<https://zonestamp.toolforge.org/1692348349>, based on a community
request, we will offer a session at the Hackathon, *First steps with
Wikifunctions* <https://phabricator.wikimedia.org/T343905>. This will be
a hands-on session on how to edit Wikifunctions. We expect this session not
to be streamed and recorded, but we are planning to offer similar sessions
in the near future for online participation.
The team will be represented by Denny Vrandečić, James Forrester, and Nick
Wilson at Wikimania.
<https://meta.wikimedia.org/wiki/File:Dr._Denny_Vrande%C4%8Di%C4%87-3.jpg>
Denny Vrandečić
<https://meta.wikimedia.org/wiki/File:James_Forrester_(WMF)_2013.jpg>
James Forrester
<https://meta.wikimedia.org/wiki/File:Wilson,_Nick_January_2016.jpg>
Nick Wilson
Regarding handing out further functioneer rights, we will focus on giving
rights to Wikimania attendees, in order to maximize engagement with
attendees. Following Wikimania, and assuming everything is still going
fine, we will pick up handing out rights again to more people, and also are
expecting to do so faster than so far.
If you are at Wikimania, we would be glad to talk to you about
Wikifunctions! We want to hear your thoughts, concerns, and ideas. We are
very excited to meet with the community!
This newsletter can be found on the Web here:
https://diff.wikimedia.org/2023/08/07/wikifunctions-is-starting-up/
After three years of development, we are excited to share that Wikifunctions
<https://www.wikifunctions.org/wiki/Special:MyLanguage/Wikifunctions:Main_Pa…>
is
slowly beginning to roll out.
Wikifunctions, the newest Wikimedia project, is a new space to
collaboratively create and maintain a library of functions. You can think
of these functions like recipes for a meal—they take inputs and produce an
output (a reliable answer). You might have experienced something similar
when using a search engine to find the distance between two locations, the
volume of an object, converting two units, and more.
You can learn more about how Wikifunctions works in this short video on
Commons
<https://commons.wikimedia.org/wiki/File:Wikifunctions_in_7_minutes.webm>
and YouTube <https://www.youtube.com/watch?v=bHy63VOp0RQ>.
Wikifunctions is a project that allows you to create new functions, run
existing functions, and understand how they work. We anticipate that the
system will eventually be able to generate sentences, texts, and full
articles. Using the simple facts housed in Wikidata
<https://www.wikidata.org/wiki/Wikidata:Main_Page>, you will be able to
write functions that make calculations, provide a person’s age, estimate
population densities, and more, and integrate the results into Wikipedia.
Additionally, Wikifunctions allows you to read and implement functions in
your native language, be that English, Spanish, Arabic, Bengali, or one of
the hundreds of other supported languages.
At the moment, just like any other new Wikimedia initiative, we are rolling
out Wikifunctions with minimal content and features to start. Logged-in
contributors can run a few early functions, and editing will be limited as
we test the project’s stability. You can request edit access
<https://www.wikifunctions.org/wiki/Wikifunctions:Apply_for_editing> on
Wikifunctions, and we will give out the rights to more people as we test
and learn. Things will bend, break, get fixed, and break again as we build
up the project’s capabilities. For now, we are excited to announce that the
Wikimedia communities have decided on the very first function: *join
together* <https://www.wikifunctions.org/view/en/Z10000>. The function
takes two strings and returns them combined. If you are logged-in, you can
try it out now on Wikifunctions
<https://www.wikifunctions.org/view/en/Z10000>.
We are looking forward to a thriving community to grow and maintain a
library of many useful and interesting functions in the future.
------------------------------
Wikifunctions is a core component of the larger Abstract Wikipedia
<https://meta.wikimedia.org/wiki/Special:MyLanguage/Abstract_Wikipedia>
initiative,
which will enable Wikimedia volunteer editors to create and maintain
content in a single place that can be shared across languages. In short:
Abstract Wikipedia will build a system where an editor can contribute
knowledge using their native Swahili, and a reader will be able to benefit
from that knowledge by reading it in their native Japanese.
Thank you
On behalf of the Abstract Wikipedia team and the whole Wikimedia movement,
please join me in welcoming Wikifunctions as a new project. We can’t be
more excited to invite you to experience it.
We plan to continue developing Wikifunctions to add new features: we will
build in better support for programming languages, access to Wikidata,
integration with Wikipedia and other Wikimedia projects, the ability to
deal with binary data files, and much more.
If you are interested in working with us to build a catalog of functions
(and have some patience to deal with the hiccups of an early new project),
please join us <https://www.wikifunctions.org/> as a contributor on
Wikifunctions! We are looking forward to becoming a new community.
We thank Google.org, the Rockefeller Foundation, and the Wikimedia
Endowment for their support.
Well tired of people still blocking me out of my accounts.
Sent from Yahoo Mail for iPhone
On Monday, August 7, 2023, 1:26 PM, abstract-wikipedia-request(a)lists.wikimedia.org wrote:
Send Abstract-Wikipedia mailing list submissions to
abstract-wikipedia(a)lists.wikimedia.org
To subscribe or unsubscribe, please visit
https://lists.wikimedia.org/postorius/lists/abstract-wikipedia.lists.wikime…
You can reach the person managing the list at
abstract-wikipedia-owner(a)lists.wikimedia.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Abstract-Wikipedia digest..."
Today's Topics:
1. Newsletter #114: Wikifunctions is starting up (Denny Vrandečić)
2. Re: Newsletter #114: Wikifunctions is starting up
(Denny Vrandečić)
----------------------------------------------------------------------
Message: 1
Date: Mon, 7 Aug 2023 13:18:49 -0700
From: Denny Vrandečić <dvrandecic(a)wikimedia.org>
Subject: [Abstract-wikipedia] Newsletter #114: Wikifunctions is
starting up
To: Abstract Wikipedia list <abstract-wikipedia(a)lists.wikimedia.org>
Message-ID:
<CA+bik1frcYQO6oAzpAtdDFmqDmEvg=Fhv9fNJHn+-HuB7-JSSA(a)mail.gmail.com>
Content-Type: multipart/alternative;
boundary="000000000000f4f3af06025af41d"
This newsletter can be found on the Web here:
https://diff.wikimedia.org/2023/08/07/wikifunctions-is-starting-up/
After three years of development, we are excited to share that Wikifunctions
<https://www.wikifunctions.org/wiki/Special:MyLanguage/Wikifunctions:Main_Pa…>
is
slowly beginning to roll out.
Wikifunctions, the newest Wikimedia project, is a new space to
collaboratively create and maintain a library of functions. You can think
of these functions like recipes for a meal—they take inputs and produce an
output (a reliable answer). You might have experienced something similar
when using a search engine to find the distance between two locations, the
volume of an object, converting two units, and more.
You can learn more about how Wikifunctions works in this short video on
Commons
<https://commons.wikimedia.org/wiki/File:Wikifunctions_in_7_minutes.webm>
and YouTube <https://www.youtube.com/watch?v=bHy63VOp0RQ>.
Wikifunctions is a project that allows you to create new functions, run
existing functions, and understand how they work. We anticipate that the
system will eventually be able to generate sentences, texts, and full
articles. Using the simple facts housed in Wikidata
<https://www.wikidata.org/wiki/Wikidata:Main_Page>, you will be able to
write functions that make calculations, provide a person’s age, estimate
population densities, and more, and integrate the results into Wikipedia.
Additionally, Wikifunctions allows you to read and implement functions in
your native language, be that English, Spanish, Arabic, Bengali, or one of
the hundreds of other supported languages.
At the moment, just like any other new Wikimedia initiative, we are rolling
out Wikifunctions with minimal content and features to start. Logged-in
contributors can run a few early functions, and editing will be limited as
we test the project’s stability. You can request edit access
<https://www.wikifunctions.org/wiki/Wikifunctions:Apply_for_editing> on
Wikifunctions, and we will give out the rights to more people as we test
and learn. Things will bend, break, get fixed, and break again as we build
up the project’s capabilities. For now, we are excited to announce that the
Wikimedia communities have decided on the very first function: *join
together* <https://www.wikifunctions.org/view/en/Z10000>. The function
takes two strings and returns them combined. If you are logged-in, you can
try it out now on Wikifunctions
<https://www.wikifunctions.org/view/en/Z10000>.
We are looking forward to a thriving community to grow and maintain a
library of many useful and interesting functions in the future.
------------------------------
Wikifunctions is a core component of the larger Abstract Wikipedia
<https://meta.wikimedia.org/wiki/Special:MyLanguage/Abstract_Wikipedia>
initiative,
which will enable Wikimedia volunteer editors to create and maintain
content in a single place that can be shared across languages. In short:
Abstract Wikipedia will build a system where an editor can contribute
knowledge using their native Swahili, and a reader will be able to benefit
from that knowledge by reading it in their native Japanese.
Thank you
On behalf of the Abstract Wikipedia team and the whole Wikimedia movement,
please join me in welcoming Wikifunctions as a new project. We can’t be
more excited to invite you to experience it.
We plan to continue developing Wikifunctions to add new features: we will
build in better support for programming languages, access to Wikidata,
integration with Wikipedia and other Wikimedia projects, the ability to
deal with binary data files, and much more.
If you are interested in working with us to build a catalog of functions
(and have some patience to deal with the hiccups of an early new project),
please join us <https://www.wikifunctions.org/> as a contributor on
Wikifunctions! We are looking forward to becoming a new community.
We thank Google.org, the Rockefeller Foundation, and the Wikimedia
Endowment for their support.
A quick update on the current status of Wikifunctions:
* everyone can read Wikifunctions
* the right to call functions has been restored for logged-in users. All
logged-in users can call functions.
* all logged-in users can edit outside of the main namespace. We can start
building a community. Say hi on the Project Chat at
https://www.wikifunctions.org/wiki/Wikifunctions:Project_chat
* users with the functioneer role can edit object pages. We have so far
given this role out to more people every day, there will be another batch
later today. You can apply here:
https://www.wikifunctions.org/wiki/Wikifunctions:Apply_for_editing
* We are still remaining a bit quiet and are not sending out the message to
the wider community just yet. We still have a few blocking issues to work
through. Our current target is Monday to let more people know.
Cheers,
Denny
Hello all!
Today was a very busy day for the development team.
We enabled general editing of the wiki on Wikifunctions.org. But the
planned roll-out of object editing rights - that is, the ability to create
and edit functions, tests, implementations, etc. - hit a stumbling block.
It's currently not possible.
An unrelated issue was discovered on the backend, and just to be cautious,
we also disabled the ability to call functions at all for now. That issue
bound most of our resources, so that we couldn't get to fixing the other
issue above.
Also, object history was broken, but we were able to deploy a fix for that.
A more complete list of issues can be found on our Status page:
https://www.wikifunctions.org/wiki/Wikifunctions:Status
We will not be giving out functioneer rights until the blocking issues are
resolved. We will keep you updated here daily for now.
Contributions to wikifunctions.org in making this a nice wiki to visit,
with the necessary help pages and community pages, are more than welcome.
Thank you all for your patience,
And thanks to the team for their hard work today,
Denny
In https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Examples we have
json-like form with statenents Object_with_modifier_and_of, Ranking
in https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Examples/Jupiter
is a bit differ
How fast create abstract form of content if we know English text?
We have Polish sentence: „W głuchej puszczy, przed chatką leśnika rota
strzelców stanęła zielona” it is poetically, normal will “W głuchej
puszczy, przed chatką leśnika stanęła zielona rota strzelców.”
to English: “In the deaf forest, a green rota of riflemen has stood in
front of the forester's hut.”
Dissection of this sentence with indentation:
(rota,
<what did?>(stand,
<where?>(in forest,
<what?>deaf),
(in front,
<of?> (of hut,
<whose?)forester)))
<what?>green,
<whose?>riflemen
there is less information here than in San Francisco example , only
what? whose? etc
What can be added to make it a correct abstract article?
Whether too many relations hinder sentence construction? Maybe
complicated relations split to simpler?
The on-wiki version of the newsletter is available here (and might be
easier to read with the images):
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-05-25
--
Our new viewing and editing experience is now available
Last week, we made another huge step forward to launch. After months of
development, we switched the standard viewing and editing experience from
the old, never-designed ZObject viewer and editor to the new Default view
component.
The default view component begins to highlight the advantages of having
individual functions being implemented through the Web. It is difficult to
avoid Wikifunctions being compared to decades' worth of work in modern
development environments. But with the default component now enabled, it
really feels to me that some of the interesting possibilities of
collaboratively working on individual functions through a Web interface
start to shine through.
The widgets keep relevant information available for you at a glance while
you are working on a tester or implementation. You can quickly re-run the
tests while updating an implementation, making sure they still pass. And
this is just our first version: we expect that as Wikifunctions evolves, as
you use it and find what does and doesn't work for you, that we will grow
and refine the repertoire of widgets at our disposal. I am very excited
about the future of Wikifunctions!
This change is coupled with tons of other changes that were now enabled by
using the new components. In this newsletter we will focus on two types of
objects where the new user experience is particularly beneficial: testers
and implementations.
<https://meta.wikimedia.org/wiki/File:Function_view_of_add_s_to_end_Wikifunc…>
<https://meta.wikimedia.org/wiki/File:Function_view_of_add_s_to_end_Wikifunc…>
View of the function "add s to end" in the Wikifunctions Beta
Our examples start with a function called “add s to end
<https://wikifunctions.beta.wmflabs.org/wiki/Z10210>”. As you can see on
the left hand side, the function takes a string as an input and returns a
string. On the right hand side you can see that the function currently has
one implementation (called “Add s composition”) and one tester (called “Add
s to book”). To give an example, if you enter a string such as “wall” as
the input, the function will add an s to the end and return “walls”.
Let’s take a look at the tester:
<https://meta.wikimedia.org/wiki/File:Add_s_to_book_Tester_Default_component…>
<https://meta.wikimedia.org/wiki/File:Add_s_to_book_Tester_Default_component…>
Default component for the tester "Add s to book" in the Wikifunctions Beta
The tester, as with most objects, now has three columns, with the main
content in the middle and additional helpful information and sometimes
actions on the left and right column. On smaller screens (like mobile
devices), we show the left column's contents first, then the main content,
and finally the right column.
In the center we see that this is a tester for the “Add s to end” function.
The test is invoked by the call “Add s to end (book)”, i.e. by the function
all “add s to end” with the argument “book”. We are using functional syntax
here as a shortcut for describing the call. By expanding the call, you can
see the function call in more detail. The result validation then says to
check with string equality against “books”. So this tester basically says
that, by adding “s” to the end of “book”, the system should return “books”.
Expanding and collapsing objects is particularly useful for the editing
mode, where the contributor can expand and focus on the parts of the object
they are interested in, and get a reasonably compact view of the rest of
the object.
The left hand column has two widgets, one “About”, to view and edit the
multilingual information of the object, and the other a function explorer,
offering a quick overview of the function we are testing. On the right hand
side we have a widget offering the list of implementations and whether they
pass this tester or not. There's also the JSON syntax representing the
object for debugging; don't be alarmed by this, we use it for our
convenience while we develop but we plan to remove it from view.
[image: ZObject-Viewer for the tester "Add s to book" in the Wikifunctions
Beta]
<https://meta.wikimedia.org/wiki/File:Add_s_to_book_Tester_ZObject-Viewer_Wi…>
<https://meta.wikimedia.org/wiki/File:Add_s_to_book_Tester_ZObject-Viewer_Wi…>
This is the view in the (now deprecated) ZObject-Viewer component of the
tester "Add s to book" which tests the function "Add s to end of word", in
the Wikifunctions Beta
Here, for comparison, is the previous ZObject viewer. The label box is at
the top, not the side, and below we see the tester, first pointing to the
function that is being tested, followed by the call and result validation.
We see the test results at the bottom in the form of a table, below
everything and out of sight.
[image: Default component for the implementation of "Add s composition" in
the Wikifunctions Beta]
<https://meta.wikimedia.org/wiki/File:Add_s_composition_collapsed_wikifuncti…>
<https://meta.wikimedia.org/wiki/File:Add_s_composition_collapsed_wikifuncti…>
This is the view in Default component of "Add s composition", which is a
composition implementing "Add s to end of word", in the Wikifunctions Beta.
The composition is collapsed.
The collapsed composition is opened one level in the following screenshot.
<https://meta.wikimedia.org/wiki/File:Add_s_composition_expanded_Wikifunctio…>
<https://meta.wikimedia.org/wiki/File:Add_s_composition_expanded_Wikifunctio…>
Default component for the implementation of "Add s composition" in the
Wikifunctions Beta with an expanded composition
This is the new default view for implementations. Again, we have the three
column view, with helpful widgets in the side columns. The right hand
column now contains a widget with the relevant testers, which also shows
that this implementation passes against the tester we saw before, “add s to
book”. Whereas every object would have an About widget, each type of object
can have different widgets on them as appropriate. For example, we will
soon have a Function Evaluator widget in the implementation page, similar
to the “Evaluate Function” box we had in the old view.
The center column contains the implementation itself, in this case a
composition. Some compositions can become rather long! The function “days
in a standard year calendar month
<https://wikifunctions.beta.wmflabs.org/wiki/Z10470>” has for example an
implementation via composition
<https://wikifunctions.beta.wmflabs.org/wiki/Z10483> with functions nested
four levels deep. This is where the new default component really shines, as
we can compact and expand each of the levels and branches of the
composition.
[image: ZObject-Viewer for the implementation of "Add s composition" in the
Wikifunctions Beta]
<https://meta.wikimedia.org/wiki/File:Add_s_composition_zobject_viewer_wikif…>
<https://meta.wikimedia.org/wiki/File:Add_s_composition_zobject_viewer_wikif…>
This is the view in the (now deprecated) ZObject-Viewer component of "Add s
composition", which is a composition implementing "Add s to end of word",
in the Wikifunctions Beta
Again, for comparison, here’s the previous viewer for an implementation. We
saw the test results at the bottom. Here we also had the evaluate function
widget on the right, which will be soon ported over to the new view as well.
Such a big change to the front end, touching almost every content page in
the Wikifunctions wiki, has also led to a flurry of bug reports, as a
number of things are temporarily not working as intended. Please bear with
us as we catch up and fix those. But also, take a moment with us to
celebrate this large step forward!
Particular shout outs to Geno as the lead engineer on this task, Allan and
Julia for their work, and to Amin for his designs!