6.863 // Bo Kim (kaede11@mit.edu) // Spring 2005
Home | Lab 1a | Lab 1b | Lab 2a | Lab 2b | Lab 3

Laboratory 3 -- Semantics: Word Semantics & Sentence Semantics

Question 1

1.  English and Tagalog

Lowest common ancestor:  natural language, tongue

Hypernym path:  English, English language à West Germanic, West Germanic language à Germanic, Germanic language à Indo-European, Indo-European language, Indo-Hittite à natural language, tongue à Austronesian, Austronesian language à Malayo-Polynesian à Western Malayo-Polynesian à Philippine, Filipino à Tagalog

 

2.  United States and Cambridge

Lowest common ancestor:  administrative district, administrative division, territorial division

Hypernym path:  United States, United States of America, America, US, U.S., USA, U.S.A. à North American country, North American nation à country, state, land à administrative district, administrative division, territorial division à municipality à city, metropolis, urban center à Cambridge

 

Question 2

1.  coreference between runway and surface

Runway and surface corefer, since runway is a kind of surface.  The lowest common ancestor of the two is surface, and thus the corresponding hypernym path is as follows:  runway à paved surface à horizontal surface, level à surface.

 

2.  coreference between airplane and vehicle

Airplane and vehicle corefer, since airplane is a kind of vehicle.  The lowest common ancestor of the two is vehicle, and thus the corresponding hypernym path is as follows:  airplane, aeroplane, plane à heavier-than-air craft à aircraft à craft à vehicle.

 

3.  non-coreference between vehicle and runway

Unlike the word associations above, vehicle and runway do not have one of the two as their lowest common ancestor.  This means that neither is vehicle a kind of runway, nor runway a kind of vehicle.  Their lowest common ancestor is artifact, artefact, and the corresponding hypernym path is as follows:  vehicle à conveyance, transport à instrumentality, instrumentation à artifact, artefact à surface à horizontal surface, level à paved surface à runway.  Such long hypernym path between the two can serve as evidence for their lack of coreference.

 

4.  crew and pilot

If I was told to make a decision on whether or not crew and pilot corefer, without the use of WordNet, I would say that they corefer without hesitation.  But WordNet indicates that the two have no common ancestors, despite the fact that both words’ Sense 1s’ definitions mention aircraft.  In searching for an explanation for such deviation from what would normally be expected, I noticed that WordNet defines crew strictly as being made up of more than one person, whereas it is defines pilot strictly to be singular.  This causes crew to be generalized to group, grouping (any number of entities considered as a unit), while it causes pilot to be generalized to entity (one entity).  Such matter is in no way accounted for by WordNet, which leaves the user the need to recognize coreference by himself.  Thus I believe that there may be a need for an effective relaxation of singular/plural categorization policies, such as allowing the pluralization of the concept of pilot when pilots is searched for, as would be the case for the sample sentence given here.

 

Question 3

“What did John give to Mary” requires the gap for the object Fido (patient), so the VBAR rule fit for the task is:

sem.add(“VBAR[fin +]/NP -> V3[tense -] NP/NP PP.dat”,

                      lambda v3, np, pp: lambda subj, patient: v3(subj, pp, patient))

 

“Who did John give Fido to” requires the gap for the object of the PP, Mary (beneficiary), so the VBAR rule fit for the task is:

sem.add(“VBAR[fin +]/NP -> V3[tense -] NP PP.dat/NP”,

                      lambda v3, np, pp: lambda subj, beneficiary: v3(subj, beneficiary, np))

 

Question 4

Please note that all the new rules added to lab_rules.py is under the “### New Rules by Bo ###” section of the file labBo_rules.py, for which the link is provided below:

 

http://web.mit.edu/~kaede11/Public/labBo_rules.py

4.1

In order to handle the double object for John gave Mary Fido, I took the existing sem.add rule for give in declarative sentences and made it handle another NP instead of PP, differentiating between the two NPs as npa and npb.  The rule I added is as follows:

sem.add(V+args -> V3[tense +] NP[pro -, wh ] NP[wh -],

           lambda v3, npa, npb: lambda subj: v3(subj, npa, npb))

 

A snapshot of the screen, showing my (-q) interaction with the system and the lambda applications in the GUI reaching the Start node, is given below:

 

snap41c.gif

4.2

In order to handle “John did give Mary Fido,” I took the rule created in 4.1 above and altered it into a VBAR expansion, in which the verb becomes tenseless with the existence of “did.”  The rule I added is as follows:

 

sem.add(VBAR[fin +] -> V3[tense -] NP[pro -, wh ] NP[wh -],

           lambda v3, npa, npb: lambda subj: v3(subj, npa, npb))

 

A snapshot of the screen, showing my (-q) interaction with the system and the lambda applications in the GUI reaching the Start node, is given below:

 

snap421b.gif

The rule added also allows the system to handle “Did John give Mary Fido,” and a snapshot of the screen, showing my (-q) interaction with the system and the lambda applications in the GUI reaching the Start node, is given below:

 

snap422a.gif

“Did John give Mary Fido” is handled without having to add any more new syntactic/semantic rules, since the same method of handling “Did John give Fido to Mary” can be used on it.  This is possible because the rule I added associates “give Mary Fido” into VBAR, just as “give Fido to Mary” is done.  Thus, the system has no problem interpreting “Did John VBAR,” regardless of the details within VBAR.  For a visual check of this phenomenon, please take a look at the following snapshots of “Did John give Fido to Mary” and “Did John give Mary Fido,” respectively:

 

snap423a.gif

snap424a.gif

4.3

In order to handle “What did John give Mary,” I took the first rule found for Question 3 above, and made it capable of handling the “double object,” letting NP take the place of PP and coupling it with the use of “npa” and “npb” once again.  The rule I added is as follows:

 

sem.add(VBAR[fin +]/NP -> V3[tense -] NP NP/NP,

           lambda v3, npa, npb: lambda subj, patient: v3(subj, npa, patient))

 

A snapshot of the screen, showing my (-q) interaction with the system and the lambda applications in the GUI reaching the Start node, is given below:

 

snap430a.gif

For the case examined in Question 3 above, two different VBAR rules were needed; “What did John give to Mary” and “Who did John give Fido to” both displace an NP from a VBAR structure of V3 NP PP, but from different locations of the structure in each case.  In turn, two rules were needed to specify the gap position.  For a visual check of this phenomenon, please take a look at the following snapshots of the two Question 3 phrases below:

 

snap31b.gif

snap32b.gif

Contrastingly, for “What did John give Mary,” only the rule I added is needed; “Who did John give Fido,” which could be assumed to be the “to-less” version of “Who did John give Fido to,” is indeed correctly identified as rather sharing the same meaning as “Who did John give to Fido.”  Since that requires an entire different set of information (regarding John giving someone to Fido), and all the more uses the original VBAR structure, there in turn exists no need for further clarification, allowing the one rule added to suffice. 

 

Bo Sung Kim © 2005 kaede11