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/

