First of all, welcome to Swork! I don't think you misunderstood anything, but we're fine with that if you did. "Bobby hit the ball over the stadium using the bat" sounds okay too.
I'll try to focus on your topic, Adam. It does seem as though we're moving into a broader problem area, but we'll always get back to inflections eventually.
So, yes, context is everything. Almost. So let's remember we're talking primarily about Wikipedia. If we were talking about conversations, that would introduce all sorts of additional and fascinating complications, like how you add the thing you just remembered into the words you are in the middle of speaking. But let's try to relate that sort of problem back to our Wikipedic context.
We assume that we have a notable person aka "Bobby" and some record of an event in this person's life (the infamous ball-hitting incident). This, I think, corresponds to Adam's original "set-up" (to use your term, Swork). Let's further assume that someone once wrote something in Wikipedia like "Roberta, known to her friends as "Bobby", is the youngest female ever to hit a ball over the <name> stadium. She used the bat her father had used in 1983, when..." And let's further assume that this event is represented in some vaguely familiar way in Wikidata... (details avoided!) And now, finally, we discover from Roberta's autobiography ("Call me Bobby") that she was humming the very tune that her father used to hum... so we add that to Wikidata (during tune Q864573216897 performed by Q<Roberta> as a hum, reference Q<Call me Bobby>, p.132).
So, before the change, our process found "Bobby", "hit a ball" and "used the bat". I've left the determiners (articles "a" and "the") in place because they suggest it's any old ball but a particular bat. And Adam's function didn't output "Bobby hit a ball used the bat" but (given the set-up, which refers to the bat in an article about Bobby's father etc "his daughter, ...") "...Bobby, using the bat, hit a ball..." ("over the stadium", as it happens).
After the change in Wikidata (given the relative significance of these well-sourced details), our selection process has transformed the recorded fact about the tune to the action "hum" and ignored the memorable tune. It has also, quite consistently, determined that the humming is incidental, so "during tune" has become something equivalent to <while>. So we have "Bobby", "hit a ball", "used the bat" plus <while>"Bobby", "hum". Given our previous context, Adam's function will now produce "Bobby, humming, used the bat to hit a ball..." (or something equivalent). The point is that it is this particular context that pretty much requires "Bobby" to come first and the "ball" to come last. In a different context, we might require "Bobby" to come later: "Humming, while using the bat to hit a ball, Bobby..." And notice this (it wasn't even deliberate), we ever so casually shifted Bobby from being the subject of the verb "hit" to being the subject of the verb "used" to being the subject of some other verb in the wider context. Had the bat been more prominent, we might have ended up with that as the subject: "[later] the bat was used by [his daughter] Bobby to hit a ball..., while humming..."
Backtracking a little, if we leave open the question of which verb is the main verb, we could just as easily come up with "Bobby hummed, while using the bat to hit a ball. And going back to Adam's original example, we might have got "Bobby used the bat to hit a ball" or even "Bobby batted a ball". Only with my invented Wikipedic context can I suggest that "Bobby used the bat to hit a ball" sounds best to my English ears. (I know that wasn't the question but it's good to share.)
Best regards, Al. On Saturday, 25 July 2020, abstract-wikipedia-request@lists.wikimedia.org wrote:
Send Abstract-Wikipedia mailing list submissions to abstract-wikipedia@lists.wikimedia.org
To subscribe or unsubscribe via the World Wide Web, visit https://lists.wikimedia.org/mailman/listinfo/abstract-wikipedia or, via email, send a message with subject or body 'help' to abstract-wikipedia-request@lists.wikimedia.org
You can reach the person managing the list at abstract-wikipedia-owner@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:
- Re: Conjugation and Declension Functions (Exocamp Exocamp)
Message: 1 Date: Fri, 24 Jul 2020 23:06:45 -0500 From: Exocamp Exocamp scamgiver@gmail.com To: abstract-wikipedia@lists.wikimedia.org Subject: Re: [Abstract-wikipedia] Conjugation and Declension Functions Message-ID: <CAPBFV5evw=80nP7rhnXqXOJgOYS3Jgrf2X_h79n-7eE+RhajJA@mail. gmail.com> Content-Type: text/plain; charset="utf-8"
I would like to say first that I am new to this idea and project and not as familiar with coding or linguistics as some of you, so I apologize in advance if I am severely misunderstanding something in this thread.
While any of these phrases would sound decent in a sentence, I believe that the context of the rest of the sentence would be needed to determine the correct thematic relation. Even if the output phrases all contain the same words, natural speech and language would not pick these phrases necessarily at random, because the three phrases have different "set-ups" as I would call them. I'll give examples so I become much more clear.
Let us assume we have the agent-patient-instrument pair of Bobby, the ball, and the bat, and finish this clause with the directional relation "over the stadium". Thus our sentences would most likely be as follows:
[1] Bobby hit the ball using the bat over the stadium. [2] Bobby, using the bat, hit the ball over the stadium. [3] Using the bat, Bobby hit the ball over the stadium.
Despite all of these being technically correct sentences in English, sentence [1] in my opinion would definitely not look as natural to a native English speaker in text as [2] or [3] (though in my opinion [3] is best) Let's do another example with the phrase "while he hummed a song."
[1] Bobby hit the ball using the bat while he hummed a song. [2] Bobby, using the bat, hit the ball while he hummed a song. [3] Using the bat, Bobby hit the ball while he hummed a song.
Now with this new phrase, sentences [1] and [2] have become the most natural sentences (again, in my opinion), when in the previous sentence where the phrase "over the stadium" was used, these two were the most *un*natural. As such, I believe that the most accurate method to find the most natural phrasing would need to find a pattern in the context in order to apply the correct formation to.
One last thought of mine has to do with spoken English and not written, but still may assist with our problem. From my thinking, the stressed word on a previous sentence may also affect the construction of the next. Let's treat our agent-patient-instrument as a complete sentence, and the sentence before this in spoken English as "Bobby had a ball and a bat" - introducing Bobby, ball, and bat beforehand. The stress could affect the construction like so, where * * indicates the stressed word in the sentence.
[1] *Bobby* had a ball and a bat. Bobby hit the ball using the bat. [2] Bobby had a *ball* and a bat. Bobby, using the bat, hit the ball. [3] Bobby had a ball and a *bat.* Using the bat, Bobby hit the ball.
Again, I am not a very experienced person in either linguistics or programming, so I may have missed the point of something, but I hope my thoughts help with this.
Sincerely, SWork
On Fri, Jul 24, 2020, 6:07 PM < abstract-wikipedia-request@lists.wikimedia.org> wrote:
Send Abstract-Wikipedia mailing list submissions to abstract-wikipedia@lists.wikimedia.org
To subscribe or unsubscribe via the World Wide Web, visit https://lists.wikimedia.org/mailman/listinfo/abstract-wikipedia or, via email, send a message with subject or body 'help' to abstract-wikipedia-request@lists.wikimedia.org
You can reach the person managing the list at abstract-wikipedia-owner@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:
- Re: Conjugation and Declension Functions (Adam Sobieski)
Message: 1 Date: Fri, 24 Jul 2020 23:07:03 +0000 From: Adam Sobieski adamsobieski@hotmail.com To: "General public mailing list for the discussion of Abstract Wikipedia (aka Wikilambda)" < abstract-wikipedia@lists.wikimedia.org> Subject: Re: [Abstract-wikipedia] Conjugation and Declension Functions Message-ID: < CH2PR12MB41841C5E1C4E820B9766AB1BC5770@CH2PR12MB4184.
namprd12.prod.outlook.com
Content-Type: text/plain; charset="windows-1252"
In addition to broaching the discovery, encoding and reuse of language-specific patterns, which I view as a discussion topic when comparing and contrasting approaches (see: the DRY principle [1] and the abstraction principle [2]), and indicating how conjugation and declension functions would facilitate the discovery, encoding and reuse of these patterns, I would like to share some topics which arose as I explored adding the thematic relation [3] of instrument to the agent-patient pair.
When exploring how best to add the thematic relation of instrument to the agent-patient pair (e.g. adding “using the bat” to “Bobby hit the
ball”), I
observed that, for the same input grammatical arguments, there was a set
of
possible output paraphrases:
- “Bobby hit the ball using the bat”
- “Bobby, using the bat, hit the ball”
- “Using the bat, Bobby hit the ball”
I wondered: how might we be able to generate each?
One possibility is indicated. There could be a type for each thematic relation [3]. Then, using explicit type conversions to these types, we could have different functions for different sequences of input
arguments.
That is,
hit<voice::active, tense::past, aspect::perfective, mood::indicative>(context, (Agent)Bobby, (Patient)ball, (Instrument)bat) --> “Bobby hit the ball using the bat” hit<voice::active, tense::past, aspect::perfective, mood::indicative>(context, (Agent)Bobby, (Instrument)bat, (Patient)ball) --> “Bobby, using the bat, hit the ball” hit<voice::active, tense::past, aspect::perfective, mood::indicative>(context, (Instrument)bat, (Agent)Bobby, (Patient)ball) --> “Using the bat, Bobby hit the ball”
or
hit<voice::active, tense::past, aspect::perfective, mood::indicative>(context, Bobby as Agent, ball as Patient, bat as Instrument) --> “Bobby hit the ball using the bat” hit<voice::active, tense::past, aspect::perfective, mood::indicative>(context, Bobby as Agent, bat as Instrument, ball as Patient) --> “Bobby, using the bat, hit the ball” hit<voice::active, tense::past, aspect::perfective, mood::indicative>(context, bat as Instrument, Bobby as Agent, ball as Patient) --> “Using the bat, Bobby hit the ball”
These functions could each wrap the use of patterns (as indicated in previous email) and attempt to realize output sentences utilizing the arguments in the same sequence in which they were provided. This would, however, mean that the callers of the functions would be responsible for “shuffling” the input arguments to express the desired paraphrase ((1), (2), (3)).
There are, of course, other approaches to consider and other
possibilities
to consider with respect to addressing the matter of outputting the
example
paraphrases.
Any thoughts on these topics?
Best regards, Adam
[1] https://en.wikipedia.org/wiki/Don%27t_repeat_yourself [2] https://en.wikipedia.org/wiki/Abstraction_principle_(
computer_programming)
[3] https://en.wikipedia.org/wiki/Thematic_relation
P.S.: We could also put the grammatical arguments on the context object (context.voice, context.tense, context.aspect, context.mood, et cetera)
and
then make use of generic parameters for other uses.
From: Adam Sobieskimailto:adamsobieski@hotmail.com Sent: Thursday, July 23, 2020 7:38 PM To: General public mailing list for the discussion of Abstract Wikipedia (aka Wikilambda)mailto:abstract-wikipedia@lists.wikimedia.org Subject: RE: Conjugation and Declension Functions
I had an idea about discovering, encoding and reusing patterns in languages that I would like to share with the group.
The following is rough-draft pseudocode for a function with which to generate sentences for the verb “to kick”. The function has generic parameters for voice and tense and parameters for context, agent and patient.
Clause kick<V, T>(Context context, Noun agent, Noun patient)
{
switch(V)
{
case voice::active: switch(T) { case tense::past: case tense::present: return join(" ", [ agent, conjugate_en(“kick”, V, T, …), “the”, patient ]); case tense::future: return join(" ", [ agent, “will”, conjugate_en(“kick”, V, T, …), “the”, patient ]); … } case voice::passive: switch(T) { case tense::past: return join(" ", [ “the”, patient, “was”, conjugate_en(“kick”, V, T, …), “by” agent ]); case tense::present: return join(" ", [ “the”, patient, “is”, “being”, conjugate_en(“kick”, V, T, …), “by” agent ]); … }
}
}
and
kick<voice::active, tense::past>(context, Bobby, ball) returns “Bobby kicked the ball”.
In English, most combinations of tense, aspect, mood and voice are expressed periphrastically, using constructions with auxiliary verbs.
After
implementing a number of these for similar verbs, per the above example,
we
would notice a pattern. That pattern could be expressed as something resembling:
Clause pattern123<V, T>(Context context, Verb verb, Noun agent, Noun patient)
{
switch(V)
{
case voice::active: switch(T) { case tense::past: case tense::present: return join(" ", [ agent, conjugate_en(verb, V, T, …), “the”, patient ]); case tense::future: return join(" ", [ agent, “will”, conjugate_en(verb, V, T, …), “the”, patient ]); … } case voice::passive: switch(T) { case tense::past: return join(" ", [ “the”, patient, “was”, conjugate_en(verb, V, T, …), “by” agent ]); case tense::present: return join(" ", [ “the”, patient, “is”, “being”, conjugate_en(verb, V, T, …), “by” agent ]); … }
}
}
We could then simply express that the verb “to kick” is an instance of pattern pattern123 with something resembling:
Clause kick<V, T>(Context context, Noun agent, Noun patient)
{
pattern123<V, T>(context, new Verb(“kick”, …), agent, patient);
}
or
Clause kick<V, T>(Context context, Noun agent, Noun patient)
{
pattern123<V, T>(context, getVerb(“https://%E2%80%A6#kick%E2%80%9D), agent, patient);
}
and this pattern could be reused for a large number of verbs.
This use of patterns should extend to scenarios where there are more parameters for other thematically-related nouns:
Clause kick<V, T>(Context context, Noun agent, Noun patient, Noun instrument)
{
pattern1234<V, T>(context, new Verb(“kick”, …), agent, patient, instrument);
}
For English, there might be more generic parameters than those for voice and tense; we could add those for aspect and mood (e.g. pattern1234<V, T, A, M>(…)).
In conclusion, with generic programming and functions for conjugation and declension, we have expressiveness with which to discover, encode and
reuse
language-specific patterns.
Best regards, Adam Sobieski
abstract-wikipedia@lists.wikimedia.org