SWork,
Interesting point with previous sentences (and emphasized words) establishing a context
for which a particular sentence, one of a set of possible paraphrases, might make the most
sense.
You might find interesting:
https://en.wikipedia.org/wiki/Focus_(linguistics)
https://en.wikipedia.org/wiki/Topic_and_comment
https://en.wikipedia.org/wiki/Information_structure
and:
https://en.wikipedia.org/wiki/Stress_(linguistics)#Prosodic_stress
which provides an example where each word of a sentence is emphasized for a slightly
different meaning:
*I* didn't take the test yesterday. (Somebody else did.)
I *didn't* take the test yesterday. (I did not take it.)
I didn't *take* the test yesterday. (I did something else with it.)
I didn't take *the* test yesterday. (I took one of several.)
I didn't take the *test* yesterday. (I took something else.)
I didn't take the test *yesterday.* (I took it some other day.)
Best regards,
Adam
From: Abstract-Wikipedia <abstract-wikipedia-bounces(a)lists.wikimedia.org> on behalf
of Exocamp Exocamp <scamgiver(a)gmail.com>
Sent: Saturday, July 25, 2020 12:06:45 AM
To: abstract-wikipedia(a)lists.wikimedia.org <abstract-wikipedia(a)lists.wikimedia.org>
Subject: Re: [Abstract-wikipedia] Conjugation and Declension Functions
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<mailto:abstract-wikipedia-request@lists.wikimedia.org>>
wrote:
Send Abstract-Wikipedia mailing list submissions to
abstract-wikipedia@lists.wikimedia.org<mailto: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<mailto:abstract-wikipedia-request@lists.wikimedia.org>
You can reach the person managing the list at
abstract-wikipedia-owner@lists.wikimedia.org<mailto: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:
1. Re: Conjugation and Declension Functions (Adam Sobieski)
----------------------------------------------------------------------
Message: 1
Date: Fri, 24 Jul 2020 23:07:03 +0000
From: Adam Sobieski
<adamsobieski@hotmail.com<mailto:adamsobieski@hotmail.com>>
To: "General public mailing list for the discussion of Abstract
Wikipedia (aka Wikilambda)"
<abstract-wikipedia@lists.wikimedia.org<mailto:abstract-wikipedia@lists.wikimedia.org>>
Subject: Re: [Abstract-wikipedia] Conjugation and Declension Functions
Message-ID:
<CH2PR12MB41841C5E1C4E820B9766AB1BC5770@CH2PR12MB4184.namprd12.prod.outlook.com<mailto: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:
1. “Bobby hit the ball using the bat”
2. “Bobby, using the bat, hit the ball”
3. “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
Sobieski<mailto:adamsobieski@hotmail.com<mailto: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<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://…#kick”), 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