The second tutorial I attended at NAACL was entitled "Semantic Inference
for Question Answering", which was presented by Sanda Harabagiu (Univ of
Texas at Dallas) and Srini Narayanan (ICSI-Berkeley).

http://www.utdallas.edu/~sanda/
http://www.icsi.berkeley.edu/~snarayan/

Question Answering is the broad problem of creating a system that will
take a question like "Who was George Washington?" and have it return an
intelligible answer that is culled from various sources. Imagine being
able to type something like that question into Google, and have it pull
together a quick biography of Goerge Washington based on web content.

Question Answering is actually a very broad area, in that it is a problem
that involves many aspects of NLP, including relation identification.
In this tutorial they described a multi-step process for QA that starts
with identifying the kind of question that has been asked (as this will
provide some clues as to what sort of answer should be given). For
example, a "manner" question will ask how something happened, as in
"How did Cleopatra die?". Once the question type has been identified, then
an answer format can be created. This seems to serve essentially as a sort
of template that can be filled in by the QA system. Even before the
question type can be identified, the system usually needs to recognize
what are the "named entities" in the text. Named entities are people,
places, organizations...entities that have a name (e.g., Bill Clinton,
IBM, WalMart, etc.)

For example, if the system recognizes that "How did Cleopatra die?" is a
manner question, it might construct an answer template like so:

Cleopatra died by CAUSE

and then the problem reduces to finding out how Cleopatra died by
searching the web or another source of information. (I think she took
poison or some such thing).

In any case, the process of identifying the question type and constructing
an appropriate answer template is non-trivial in itself, to say nothing of
finding out the information that you need to make the answer informative!

So, to summarize a bit before moving on, as described in this tutorial, a
QA system needs to have several different levels of representation.

1) recognize Named Entities
2) Predicate-Argument structure for question
2) Predicate-Argument structure for answer

A predicate argument structure isn't quite as horrible as it sounds. In
this context, a predicate is usually a verb, and the arguments are those
words that surround the verb and act as objects of the verb, etc.  In
this tutorial (and it came up again later in the CoNLL shared task,
which I will talk about eventually) they advocated the use of Propbank
as a source of predicate argument information/examples.

http://www.cis.upenn.edu/~ace

In effect, the Propbank project is creating manually annotated data that
shows predicate argument structures. This is being led by Martha Palmer,
who gave one of the invited talks at CoNLL that I will also discuss in a
later note. Actually, in this tutorial they end up talking quite a bit
about FrameNet as well, which is another project that is involved with
creating data that has predicate argument structures included. In
fact, in the end this tutorial ends up using FrameNet for certain sorts of
information that PropBank doesn't have...

http://www.icsi.berkeley.edu/~framenet/

So, after identifying named entities, the question of the user is broken
down into predicate-argument structure.

------------------------

Question:

What kind of materials were stolen from the Russian Navy?

------------------------

Analysis/Parse:

What [GOODS: kind of nuclear materials] were [Target-Predicate: stolen]
[VICTIM: from the Russian Navy?]

------------------------

Then a search is done (somehow!) that locates some text that contains a
passage that contains the relevant info to answer the question. For
example, suppose that the following is found:

Russia's Pacific Fleet has also fallen prey to nuclear theft; in 1996
approximately 7kg of HEU was reportedly stolen from a navel base in
Sovetskaya Gavan.

That passage will be analyzed/parsed in the same way as the question,
leading to...

[VICTIM1: Russia's Pacific Fleet] has also fallen prey to [GOODS1:
nuclear] [Target Predicate: theft]; in 1996 [GOODS2: approximately 7kg of
HEU] was  reportedly stolen [VCTIM2: from a navel base] [SOURCE: in
Sovetskaya Gavan].

Then, by essentially matching up the goods from the question and the
answer, you can arrive at the exact answer of :

approximately 7kg of HEU

to the question "What was stolen from the Russian Navy".

Whew. Anyway, needless to say this is sort of complicated. I'm still
trying to figure out the details here, but you get the idea. The key
points are that

1) predicate argument structure is used to analyze/parse text to identify
the nature of the question and the relevant portions of the answer text
that should be returned.

2) Propbank and FrameNet are used as sources of information about
predicate-argument structures

3) Named entity recognition is an important first step

I'll keep thinking about this... :)
Ted

--
Ted Pedersen
http://www.d.umn.edu/~tpederse


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/x3XolB/TM
---------------------------------------------------------------------~->

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
     http://groups.yahoo.com/group/nlpatumd/

<*> To unsubscribe from this group, send an email to:
     [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/
 

Reply via email to