<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Building an XML framework for Question Answering</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>General Terms</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Experimentation</institution>
          ,
          <addr-line>Performance, Design</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>en Izquierdo Department of Software and Computing Systems University of Alicante</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes the novelties introduced in the Question Answering system developed in the Natural Language Processing and Information Systems Group at the University of Alicante for QA@CLEF 2005 campaign with respect to our previous participations. Thinking of future developments, this year we have designed a modular framework based on XML that will easily let us integrate, combine and test system components based on di®erent approaches. In this context, several modi¯cations have been done. Mainly, a new machine learning based question classi¯cation module has been added and tested, the document retrieval engine has been changed and several new heuristics for answer extraction have been applied. We took part in the monolingual Spanish task.</p>
      </abstract>
      <kwd-group>
        <kwd>H</kwd>
        <kwd>3</kwd>
        <kwd>2 [Information Storage and Retrieval]</kwd>
        <kwd>Information Storage|File organization</kwd>
        <kwd>H</kwd>
        <kwd>3</kwd>
        <kwd>3 [Information Storage and Retrieval]</kwd>
        <kwd>Information Search and Retrieval</kwd>
        <kwd>H</kwd>
        <kwd>5</kwd>
        <kwd>2 [Information Interfaces and Presentation]</kwd>
        <kwd>User Interfaces|Natural Language</kwd>
        <kwd>I</kwd>
        <kwd>2</kwd>
        <kwd>7 [Arti¯cial Intelligence]</kwd>
        <kwd>Natural Language Processing|Language parsing and understanding</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Most of the Question Answering systems are based on pipeline architecture comprising three main
stages: question analysis, document retrieval and answer extraction. These three tasks can be
isolated in di®erent modules, so that the development of each one could be set apart and afterward
integrated as a whole system. In order to achieve this goal, we have developed an XML framework
that facilitates the communication between the di®erent components of the system, so that we
can easily substitute and test new modules into the general framework for further development.</p>
      <p>
        Besides that, the system has su®ered several modi¯cations with respect to previous
competitions [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] in the di®erent stages of the question answering process. First, for question analysis
we have added a machine learning based question classi¯cation system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] that can be trained with
corpora in di®erent languages for multilingual purpose. Secondly, for document retrieval we have
moved to Xapian1, an open source probabilistic information retrieval library, highly adaptable and
also °exible enough to cope with documents in di®erent languages. Finally, several new heuristics
have been added in the answer extraction process in order to improve answer candidate weighting
and narrow the set of possible answers.
      </p>
      <p>This paper is organized as follows: in section 2 we describe the system architecture detailing the
novelties included this year; section 3 outlines the XML framework that allows the communication
between modules; section 4 presents and analyses the results obtained at QA@CLEF 2005 Spanish
monolingual task, paying special attention at the question classi¯cation module performance;
¯nally, in section 5 we discuss the main challenges for future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>System Description</title>
      <p>
        Our approach has evolved from the system developed in our research group [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], where new
components and old ones have been fully integrated in a brand new XML framework designed for
combining QA processes in a multilingual environment.
      </p>
      <p>The system follows the classical three-stages pipeline architecture mentioned above. In the
question analysis stage, queries proposed to the system are analyzed and useful information for
next modules is extracted, like keywords or question type. Document retrieval module takes the
keywords extracted from the query in the previous stage and returns a set of relevant documents
related to these terms. The documents obtained are the input for the ¯nal step, the answer
extraction stage, which processes these texts in order to locate and present the ¯nal answer.
Figure 1 shows the system architecture. Next paragraphs describe each module in detail.</p>
      <p>Question</p>
      <p>Query Analysis</p>
      <p>Question Keyword
Classification Extraction</p>
      <p>Document Retrieval
Xapian</p>
      <p>Google
Answer Extraction</p>
      <p>XML file
&lt;QAN&gt;</p>
      <p>…
&lt;/QAN&gt;
&lt;DR&gt;
…
&lt;/DR&gt;
&lt;AE&gt;
…
&lt;/AE&gt;</p>
      <p>Answers
This stage carries out two processes: question classi¯cation and keyword selection. The ¯rst one
detects the sort of information claimed by the query, mapping the question into a previously
de¯ned taxonomy. Otherwise, keyword selection chooses meaningful terms from the query that
helps to locate the documents that are likely to contain the answer.</p>
      <p>
        This year we have replaced the former question classi¯cation module, based on hand made
lexical patterns, with a new one based on machine learning [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. After de¯ning the possible
answer types (NUMBER, DATE, LOCATION, PERSON, ORGANIZATION, DEFINITION and
OTHER), we trained the system with an annotated corpus made up of questions from Question
Answering Track in TREC2 1999 to 2003 and CLEF 2003 to 2004, to sum up 2793 training
questions in Spanish. Thus there is no need to manually tune the module since all the knowledge
necessary to classify the questions is automatically acquired. To apply the system to di®erent
languages we only have to change the training corpus. In section 4 we present detailed performance
results of this particular module.
      </p>
      <p>
        On the other hand, the keyword extraction module remains the same for this year competition
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], using hand made lexical patterns in order to obtain useful information (keywords and de¯nition
terms). Freeling Spanish Lemmatizer [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is applied to the terms selected and lemmas are stored
for further use.
2.2
      </p>
      <sec id="sec-2-1">
        <title>Document Retrieval</title>
        <p>To accomplish this task we use two di®erent search engines: Xapian and Google3. Xapian performs
document retrieval over the entire EFE Spanish document collection. The lemmas of the keywords
detected in the question analysis stage are used to retrieve the 50 topmost relevant documents
from the EFE collection.</p>
        <p>In parallel, the same keyword list (not lemmatized this time) is sent to Google search engine
through its Web API4, selecting the 50 top ranked short summaries returned. We store this
information for later use as a statistical indicator of answer correctness.</p>
        <p>As a novelty, we introduced last year the use of English search to improve the retrieval task.
The original Spanish question is translated into English via SysTran5 online translation service.
Keywords are extracted and sent to Google, selecting again the 50 top ranked short English
summaries returned that are later used to weight possible answers in the extraction module. This
special search is only performed if the question is mapped to type NUMBER, DATE, PERSON or
ORGANIZATION, the classes that are likely to have a language independent answer: numbers,
dates, people and company names tend to keep unchanged through languages.
2.3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Answer Extraction</title>
        <p>In this stage a single answer is selected from the list of relevant documents retrieved from the EFE
Spanish corpus. At this point we have the following information: keywords and de¯nition terms
from the query, the set of relevant Spanish documents retrieved from the EFE corpus, the set of
relevant summaries in Spanish retrieved from Google and, depending on the question class, a set of
summaries in English also retrieved from the Web. The system uses all this information to select
the correct answer. The set of possible answers is formed extracting all the n-grams (unigrams,
bigrams and trigrams in our experiments) from the relevant documents in the EFE collection.</p>
        <p>
          Although the general process is similar to the one we used in previous competitions and already
explained in detail in [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], new information has been added to improve the ¯ltering and the ¯nal
answer selection step.
        </p>
        <p>The following ¯lters are applied to the set of possible answers so that we can narrow down the
solution space:
² Part of speech and query class: depending on the query class, we reject the answers that do
not contain a proper part of speech. For instance, if the query class is PERSON we expect
the answer to be a proper noun, not an adjective or a verb.
² Query terms: we reject all the possible answers that contain any keyword or that only contain
de¯nition terms.
2Text REtrieval Conference, http://trec.nist.gov
3http://www.google.com
4http://www.google.com/api
5http://www.systransoft.com
² Stopwords: all the answers that start or end with a stopword are rejected.</p>
        <p>Once the ¯ltering process is done, remaining candidate answers are scored taking into account
the following information:
² The sentence where the answer appears is scored depending on the number of keywords and
de¯nition terms that co-occur. We refer to this weighting value in the formula below as ws.
² The frequency (wf ) of the answer in the documents and summaries obtained in the retrieval
stage. Here we have three di®erent values: the frequency in the documents retrieved by
Xapian, the frequency in the Spanish web summaries and, depending on the query type, the
frequency in the English web summaries. The value wf is computed like this:
wf =
log( ddooccFMraexc ) + log( ggooooFMraexc ) + log( ggooooEEnnFMraexc )</p>
        <p>n
where numerators inside logarithm functions represent the word frequency in the
Spanish corpus, in the Spanish web summaries and in the English web summaries respectively.
Denominators represent the frequency of the most frequent word in the corresponding
collections, being used to normalize the ¯nal values. The global frequency wf is normalized
through n, that represents the number of IR processes taking place: 2 or 3, depending on
whether we use Google English summaries or not.
² The distance (wd) or number of words between the possible answer and the keywords and
de¯nition terms co-occurring in the same sentence.
² The size (number of words) of the answer (wn). For instance, DEFINITION questions are
more likely to have long answers, while NUMBER answers tend to be shorter.</p>
        <p>All the weights obtained are normalized in order to obtain a ¯nal value between 0 and 1,
determining the con¯dence of the system in the answer selected. The ¯nal answer score (as) is
computed as follows:
(1)
(2)
as = 0:2 ¢ ws + 0:3 ¢ wf + 0:2 ¢ wd + 0:3 ¢ wn
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The XML Framework</title>
      <p>Once detailed the di®erent stages of the Question Answering system, we are describing the XML
framework where all the process takes place. The eXtensible Markup Language (XML) is a
generalpurpose markup language that has become a standard de facto in inter-system communication,
being widely used to facilitate data sharing between applications. We have used it to exchange
information between the di®erent modules in our system, building a framework were individual
components can be easily interchanged. Thus, new modules can be developed separately and later
used in place of old ones in the framework for testing purpose. In order to change a module, we
only have to make sure that it ¯ts de XML speci¯cation for that process.</p>
      <p>We have associated an XML tagset for each stage of the process. Every module adds the XML
fragment generated to a common ¯le where the following modules can extract the information
required to perform. So, what we ¯nally get is a sort of log ¯le that stores the complete question
answering process in XML format. This ¯le can be used to save time testing individual modules,
as we have the information needed already stored in the ¯le. For instance, if we just want to
test the answer extraction module, we wouldn't need to execute the previous processes as the
information might be already stored in the ¯le because of a previous run.</p>
      <p>Although our run was limited to Spanish monolingual task, the framework is prepared to store
information in di®erent languages together for multilingual purpose.</p>
      <p>In the question analysis stage, we must store information about query terms and question type
detected. For instance, the question \&gt;En qu¶e provincia est¶a Atapuerca?" (\Which province is
Atapuerca in?") generates the following XML fragment:
&lt;QAN&gt;
&lt;CLASS type="LOCATION"/&gt;
&lt;TERMS lang="en"&gt;
&lt;TERM type="DT" wf="Which" lemma="which" pos="WDT"/&gt;
&lt;TERM type="DT" wf="province" lemma="province" pos="NN"/&gt;
&lt;TERM type="SW" wf="is" lemma="be" pos="VBZ"/&gt;
&lt;TERM type="KW" wf="Atapuerca" lemma="Atapuerca" pos="NP"/&gt;
&lt;TERM type="SW" wf="in" lemma="in" pos="IN"/&gt;
&lt;/TERMS&gt;
&lt;TERMS lang="sp"&gt;
&lt;TERM type="SW" wf="En" lemma="en" pos="SPS00"/&gt;
&lt;TERM type="DT" wf="qu¶e" lemma="qu¶e" pos="DT0CN0"/&gt;
&lt;TERM type="DT" wf="provincia" lemma="provincia" pos="NCFS000"/&gt;
&lt;TERM type="SW" wf="est¶a" lemma="estar" pos="VMIP3S0"/&gt;
&lt;TERM type="KW" wf="Atapuerca" lemma="Atapuerca" pos="NP00000"/&gt;
&lt;/TERMS&gt;
&lt;/QAN&gt;</p>
      <p>QAN tag indicates the kind of process taking place (question analysis). CLASS tag indicates
the query type detected by the question classi¯cation module. TERMS stores the information on
question terms, telling us if they are keywords (KW), stopwords (SW) or de¯nition terms (DT). It
also stores the word itself, the lemma and the part of speech detected by Freeling. The attribute
lang indicates the language of the query, so that we can store multilingual information for every
question.</p>
      <p>This snippet is included in the common XML ¯le and passed to the document retrieval module,
which reads the information required in that process. As a result we obtain the relevant documents
retrieved by the search engine (in this this case Xapian and Google), which are stored as an XML
fragment in the common ¯le. In the example above:
DR tag stands for the name of the process (document retrieval). Each ENGINE tag indicates
the name of the search engine and the language of the documents returned. Inside this tag the
di®erent documents are separated in DOC tags, and these are subdivided in PARAGRAPH tags,
that evidently represent paragraphs.</p>
      <p>Finally, the answer extraction module gets information from both QAN and DR fragments
to select the candidate answers. Therefore another XML snippet is generated and added to the
common ¯le. In the example above:
&lt;AE&gt;
&lt;ANSWER lang="sp" doc="EFE19950620-13256" cert="0.895063"&gt;Burgos&lt;/ANSWER&gt;
&lt;ANSWER lang="sp" doc="EFE19950907-04306" cert="0.432019"&gt;Le¶on&lt;/ANSWER&gt;
&lt;ANSWER lang="sp" doc="EFE19950907-04306" cert="0.311245"&gt;Granada&lt;/ANSWER&gt;
...
&lt;/AE&gt;</p>
      <p>AE tag represents the kind of process (answer extraction). Each ANSWER tag stores a possible
answer, indicating its language, the document where it was found and the con¯dence of the system.</p>
      <p>Another bene¯t of this XML framework is that additional tags could be added on demand
if extra information storing is required for new modules, having not to change the old modules
performance as the original structure remains the same.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <p>This year we submitted one run for the Spanish monolingual task. Table 1 shows the overall and
detailed results obtained for each CLEF question type.</p>
      <p>
        These results are very similar to the ones obtained in last year competition [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The main goal
this year was the design of the XML framework for future developments and the inclusion of a new
question classi¯cation module based on machine learning. In this sense results are encouraging as
there seems to be no lost of performance due to the new module, having the additional bene¯t of
being easily adaptable to new languages for multilingual purpose.
      </p>
      <p>Table 3 shows the detailed performance of the question classi¯cation process, but not the
impact in the whole Question Answering system. DEFINITION questions are not included in this
comparison as this type of query was identi¯ed by CLEF organization before question answering
process took place. Thus we present the results for the classi¯cation of the 150 factoid questions
in the set. Table 2 reveals that almost 77% of the factoid questions were correctly classi¯ed (up
to 82.5% if we also consider DEFINITION questions), quite promising for a system trained on
surface text features aiming to reach language independence.
In this paper we have described the novelties introduced in our Question Answering system for
QA@CLEF 2005 competition. Mainly, a new XML framework has been introduced laying the
foundations for future developments. In this framework we can easily introduce new modules and
substitute old ones for testing purpose. This year we have introduced a new question classi¯cation
module that can be trained with di®erent languages, proving to be as competitive as other
state-ofthe-art systems. We also introduced a new IR engine that can be easily adapted to new languages.</p>
      <p>Therefore, the main goal is to continue the gradual development and integration of new
multilingual modules in order to have a system that can deal with many di®erent languages at the
same time. To sum up, this can be considered the ¯rst step of a full multilingual framework for
QA.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work has been developed in the framework of the project CICYT R2D2 (TIC2003-07158-C04)
and it has been partially funded by the Spanish Government through the grant BES-2004-3935.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Vicedo</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Izquierdo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Llopis</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and Mun~oz, R.:
          <article-title>Question answering in Spanish</article-title>
          . In: CLEF, editor,
          <source>Proceedings CLEF-2003 Lecture Notes in Computer Science</source>
          , Tronheim, Norwey,
          <year>August 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Vicedo</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Izquierdo</surname>
          </string-name>
          , R.: Does English help Question Answering in Spanish? In: CLEF, editor,
          <source>Proceedings CLEF-2004 Lecture Notes in Computer Science</source>
          , Bath, UK,
          <year>September 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] Tom¶as,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Bisbal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Vicedo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Moreno</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          and
          <article-title>Su¶arez, A.: Una aproximacio¶n multilinguÄe a la clasi¯caci¶on de preguntas basada en aprendizaje autom¶atico</article-title>
          .
          <source>XXI Conference of the Spanish Society for Natural Language Processing</source>
          ,
          <year>2005</year>
          (in print).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Carreras</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chao</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Padr¶o,
          <string-name>
            <surname>L.</surname>
          </string-name>
          and Padr¶o,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Freeling: An Open-Source Suite of Language Analyzers</article-title>
          .
          <source>In: Proceedings of the 4th International Conference on Language Resources and Evaluation (LREC'04)</source>
          . Lisbon, Portugal.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>