Monrai Blog

News about Cypher, Semantic Web, Natural Language Processing, and Computational Linguistics

Sunday, August 06, 2006

Modified 'Star' Lexeme

I was testing the lastest example dataset release, and discovered the following input didn't produce output:

Tom Hanks stars in The Terminal

After investigation, I noticed there was no word sense for 'star' which accounted for the in preposition-object construction. So I added it, and now the following works fine:

Tom Hanks stars in the Terminal --> RDF
the movies that star Tom Hanks --> SeRQL

As a side note, the datasets for the two 'movie' examples covered in the Cypher User Manual page are still on the way. I discovered a bug in how nominal clausal modifiers which are missing both the verb and subject are processed. This affects the pattern Actresses who played in movies with Tom Hanks. As a quick hack however, I just treated the noun phrase as having one clausal modifer with two prepositional phrases, and it parses fine. In actually though, the last prep-phrase is attached to the noun head movies: movies with Tom Hanks. And this is actually an abbreviation for: movies that are casted with Tom Hanks. The big difference is that the framework works best when frame slots are filled by clauses (i.e. verb lexemes), not nouns. By expanding the noun phrase prepositional phrase into a clause, we can now goveren the semantics of the noun phrase prepostional phrase by just referencing a verb. So, instead of adding a new feature the the movie lexeme to cover each possible prepositional phrase complement, we just find a verb which governs the semantics, in effect, reusing other lexemes. A better explination of this is on the way. Please be patient as I update the lexicon definition language to address this phenomenon.

1 Comments:

Blogger Sherman Monroe said...

Here is the code for anyone who wants to try it. Just add this element as a child to the 'star' lexeme in the grammar under [cypher-root]/data/examples/grammar:

<!-- Tom Hanks stars in the Terminal -->
<sense label="star.v.3">
<requires>
<con function="Clause.inComplementMarker"/>
<con function="Clause.inComplement"/>
</requires>

<fe frame="perform" label="pfoiwej">
<set prop="/performance" val="Clause.inComplement"/>
<set prop="/performer" val="Clause.subject"/>
</fe>
</sense>

9:57 PM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home