<!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>Using UIMA to Structure an Open Platform for Textual Entailment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tae-Gil Noh</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sebastian Pado</string-name>
          <email>padog@cl.uni-heidelberg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computational Linguistics Heidelberg University 69120 Heidelberg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>EXCITEMENT is a novel, open software platform for Textual Entailment (TE) which uses the UIMA framework. This paper discusses the design considerations regarding the roles of UIMA within EXCITEMENT Open Platform (EOP). We focus on two points: a) how to best design the representation of entailment problems within UIMA CAS and its type system. b) the integration and usage of UIMA components among non-UIMA components.</p>
      </abstract>
      <kwd-group>
        <kwd>Textual Entailment</kwd>
        <kwd>UIMA type system</kwd>
        <kwd>UIMA application</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Textual Entailment (TE) captures a common sense notion of inference and
expresses it as a relation between two natural language texts. It is de ned as
follows: A Text (T) entails a Hypothesis (H), if a typical human reading of T
would infer that H is most likely true [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Consider the following example:
open-source systems, but there is little to no interoperability between them, since
the systems are, as a rule, designed to implement one speci c algorithm to solve
RTE. The problems is complicated by the fact that RTE systems generally rely
on tightly integrated components such as linguistic analysis tools and knowledge
resources. Thus, when a researcher wants to develop a new RTE algorithm, they
often need to invest major e ort to build a novel system from scratch: Many of
the components already exist { but just not in a usable form.
      </p>
      <p>
        EXCITEMENT open platform (EOP) has been developed to address those
problems. It is a suite of textual inference components which can be combined
into complete textual inference systems. The platform aims to become a common
development platform for RTE researchers, and we hope that it can establish
itself in the RTE community in a similar way to MOSES [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] in Machine
Translation.
      </p>
      <p>Compared to Machine Translation, however, a major challenge is that
semantic processing typically depends on linguistic analysis as well as large knowledge
sources, which is a direct source of the reusability problems mentioned above. In
this paper, we focus on the architectural side of the platform which was designed
with the explicit goal of improving component re-usability. We have adopted
UIMA (Unstructured Information Management applications) and UIMA CAS
(Common Analysis Structure) as the central building blocks for data
representation and preprocessing within EOP.</p>
      <p>One interesting aspect is that our adoption of UIMA has been partial and
parallel. By partial, we mean that there are two groups of sharable components
within EOP: the \core" components and the \LAP" components (see Section 2).
We have adopted UIMA only for LAPs; however, we use UIMA CAS as one of
the standard data containers, even in non-UIMA components. Parallel refers to
the fact that we allow non-UIMA components to be integrated into our LAPs
transparently.
2</p>
    </sec>
    <sec id="sec-2">
      <title>EXCITEMENT: An Open Platform for Textual</title>
    </sec>
    <sec id="sec-3">
      <title>Entailment Systems</title>
      <p>RTE systems traditionally rely on self-de ned input types, pre-processing
(linguistic annotation) representations, and resources, tailored to a speci c approach
to RTE. EXCITEMENT open platform (EOP) tries to alleviate this situation
by providing a generic platform for sharable RTE components. The platform has
the following requirements.</p>
      <p>Reusing of existing software : The platform must permit easy integration
and re-using of existing softwares, including language processing tools, RTE
components, and knowledge resources.</p>
      <p>Multilinguality : The platform is not tied to a speci c language. Adding suites
for a new language in the future should not be restricted by the platform
design.</p>
      <p>Raw
entailment
problems</p>
      <p>EXCITEMENT Platform</p>
      <p>Linguistic Analysis</p>
      <p>Pipeline (LAP)</p>
      <p>Linguis7c  
Analysis  Tools  
Component Independence : Components of EOP should be independent and
complete as they are. So they can be used by di erent RTE approaches. This
is also true for linguistic annotation pipelines and their components: An
annotation pipeline as a whole, or an individual component of the pipeline,
can be replaced with equivalent components.
Google." as an entailment. The example system gets a dependency parse tree of
the text, and starts the rewriting process. On each iteration, it generates possible
entailed sentences by querying knowledge bases. In the example, lexical
knowledge is used on the rst rewriting (buy entails acquire), and syntactic knowledge
(change to passive voice) is used on the second derivation. The process will
generate many derived candidates per iteration. The algorithm must employ a good
search strategy to nd the best rewriting path from text (T) to hypothesis (H).</p>
      <p>On this example, there are three major component types. One is the
knowledge component type that supports knowledge look-up, another is generation
of derived parse trees, and nally the decision algorithm itself drives the search
process and makes the entailment decision. Expressing behaviors of such
components in terms of annotations on the artifact, might be possible, but is very
hard and counter-intuitive.</p>
      <p>Following this line of reasoning, we decided that the EC components are
better thought of as Java modules whose common behavior is de ned by a set
of Java interfaces, data types, and contracts, and have de ned them
accordingly in the EXCITEMENT open platform speci cation.1 More speci cally, we
have de ned a typology of components. They include a type for the top-level
EDA as well as (currently) ve major component types: (1) a feature extractor
(get a T-H pair CAS, return a set of features for the T-H pair); (2) a
semantic distance calculator (get a T-H pair CAS, return semantic similarity); (3) a
lexical resource type (lexical relation database); (4) a syntactic resource type
(phrasal relation database); (5) an annotation component (dynamic enrichment
of entailment problems).</p>
      <p>Although UIMA components are not suitable for conceptualizing inference
components, we decided to keep CAS as the data container even in the EC
components as far as possible to take advantage of the CAS objects created in
the LAP. Thus, various components (including EDAs) gets CAS (as JCas) as an
argument on their methods. Also note that LAP and EC boxes are independent:
1 Speci cation and architecture for EXCITEMENT open platform,
http://excitementproject.eu/index.php/results</p>
      <p>Entailment Metadata
language, channel, docId, collectionId, ...</p>
      <p>Entailment Pair</p>
      <p>pairId, goldAnswer, text, hypothesis
Text View</p>
      <p>Subject of Analysis</p>
      <p>That was ...</p>
      <p>POS
Annotations</p>
      <p>Token
Annotations
Dependency Dep
Annotations</p>
      <p>Pos.</p>
      <p>PR
Token Token</p>
      <p>Pos.</p>
      <p>V</p>
      <p>Gov
dep.NSUBJ
...
...
as long as the CAS holds correct data, the EC components does not care which
pipeline has generated the data.</p>
    </sec>
    <sec id="sec-4">
      <title>Details on the UIMA usage in EXCITEMENT</title>
      <p>CAS for Entailment Problems
The input to any RTE system is a set of entailment problems, typically
TextHypothesis pairs, each of which is represented in one CAS. Figure 3 shows a
pictorial example of the CAS data structure for the example pair (T, H1) from
Section 1. It contains the two text fragments (in two views) and their annotations
(here, POS tags and dependencies), as well as global data such as generic
metadata (e.g., language) and entailment-speci c metadata (e.g., the gold-standard
answer).</p>
      <p>On the level of the CAS representation, we had to address two points: one
is the representation of entailment problems in terms of CASes, the other one is
the type de nitions.</p>
      <p>
        Regarding the rst point, general practice in text analysis use cases is to
have one UIMA CAS corresponding to one document. This suggests representing
both text and hypothesis (including, if available, their document context) as
separate CASes. However, we decided to store complete entailment problems as
individual CASes, where each CAS has two named views (one view for text, the
other for hypothesis). This approach has two major advantages: rst of all, this
enables us to represent cross-annotations between texts and hypotheses, notably
alignments, which can be added by annotators. Second, this enables us to de ne a
straightforward extension from \simple" entailment problems (one text and one
hypothesis) to \complex" entailment problems (one text and multiple hypotheses
or vice versa, as in the \RTE search" task [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]).
      </p>
      <p>
        Regarding the second point, we adopted the DKPro type system [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which
was designed with language independence in mind. It provides types for
morphological information, POS tags, dependency structure, named entities, and
co-reference, etc. We extended the DKPro type system with the types necessary
to de ne textual entailment-speci c annotation. This involved types for
marking stretches of text as texts and hypotheses, respectively, as well as storing
correspondence information between texts and hypotheses, pair IDs, gold labels,
and some meta data. We also added types for linguistic annotation that are
not exclusively entailment-speci c, but were not covered yet by DKPro. This
included annotation for polarity, reference of temporal expressions, word and
phrase alignments, and semantic role labels.
      </p>
      <p>Details about the newly de ned types can be found in the platform speci
cation, and the type de nition les are part of the platform code distribution.
3.2</p>
      <p>Wrapping the Linguistic Annotation Pipeline
One decision that may be surprising at the rst glance is that we de ned our
own top-level Java interface for users of the LAP that hides UIMA's own
runtime access methods. This interface dictates the common capabilities that all
pipelines of LAP should provide.</p>
      <p>The reason for this decision is twofold and pragmatic in nature, making
transitioning to and using the EOP as easy as possible for developers.</p>
      <p>The rst aspect is the learning curve. We would like to avoid the need for
Entailment Core developers to deeply understand UIMA AEs and Aggregated
Analysis Engines (AAEs). We feel that a deep understanding of these points
requires substantial e ort but is not really to the point, since many EC developers
will only want to use pre-existing LAPs. By making the UIMA aspect of the LAP
transparent to the Entailment Core, EC developers do not need to know how the
LAP works internally beyond knowledge of the (fairly minimal) LAP interface.
Of course, the EC developers still need to understand UIMA CAS very well.</p>
      <p>The second aspect is migration cost. If the LAP pipelines were nothing but
UIMA AEs, all analysis pipelines of existing RTE systems would have to be
deeply refactored, which comes at a considerable cost. Our approach allows such
analysis pipelines to be kept largely intact and merely surrounded by a wrapper
that provides the requires functionality and converts their output into valid
UIMA CASes according to the EOP's speci cation.</p>
      <p>Nevertheless, there are good reasons to encourage the use of AE-based LAPs:
AE-based components are generally much more exible, and they are very easy to
assemble into AAE pipelines. Therefore, we encourage AE-based LAP
development by providing ready-to-use code that implements our LAP interface, taking
a list of AEs as input. Thus, if the individual components are already present
as AEs, the implementation e ort to assemble them into a LAP is near zero.
In this sense, we see our LAP interface as a thin wrapper above UIMA with
the purpose of enabling peaceful co-existence between UIMA and non-UIMA
pipelines. In the long run, we also hope to provide some new AEs back to the
UIMA community.
4</p>
    </sec>
    <sec id="sec-5">
      <title>Some Open Issues</title>
      <p>In this section, we discuss two open questions that we are facing in future work.
CAS in non-UIMA environments. There is considerable number of best-practice
strategies for handling CAS objects (reset the data structure instead of creating
a new one; use a CAS pool instead of generating multiple CASes, etc). When
a CAS is used in an UIMA context (i.e., in the LAP), it is not hard to guide
the developers to follow these rules. However, with CAS being used as a general
data container throughout the EOP, developers also often encounter CAS (JCas)
objects outside speci c UIMA contexts, and we have found it harder to guide
the developers towards \proper usage".</p>
      <p>
        For example, one part of the EXCITEMENT project is concerned with the
construction of Entailment Graphs [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], structured knowledge repositories whose
vertices are statements and whose edges indicate entailment relations. Since the
standard data structure for annotations is JCas, the graph developers tend to
add one JCas for each node. This is not problematic for small graphs, but once
the graph gets bigger, this can be problematic; CAS is a very large data structure,
and its creation and deletion take some time. We are still trying to establish best
practices for using CASes in non-UIMA EOP environment.
      </p>
      <p>Annotation Styles: Hidden dependencies. One of the EOP design requirement
was the clear separation of LAP and EC. This has been fairly well achieved, at
least on a technical level.</p>
      <p>However, it is clear that there are still implicit dependencies between
linguistic analysis tools and entailment core components. Consider the case of syntactic
knowledge components such as DIRT-style paraphrase rules in the Entailment
Core. Such components store entailment rules as pairs of partial dependency
trees which have typically been extracted from large corpora. If the corpus used
for rule induction was parsed with a di erent parser than the current entailment
problem, then matching the sentence against the rule base will result in missing
rules, due to di erences in the analysis style. Note that this implicit dependency
does not break the UIMA pipeline, since it does not involve the use of a novel
type system, but rather di erences in the interpretation of shared types. We are
currently investigating what type of \style di erences" can be observed from
actual annotators.</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this paper, we have provided an overview of the EXCITEMENT open
platform architecture and its adoption of UIMA. We have adopted and adapted
UIMA CAS and the DKPro type system as a exible, language-independent
data container for Textual Entailment problems. UIMA also provides the
backbone for platform's LAP components. There are several open issues that is to
be resolved in the future, but the EXCITEMENT project has already pro ted
substantially from the use of the abstractions that UIMA o ers as well as the
integration of existing components from UIMA communities.</p>
      <p>The rst version of EXCITEMENT open platform has been nished2 with
three fully running RTE systems integrated with all core components and
annotation pipelines. The platform currently supports three languages (German,
Italian and English), and is also shipped with various tools and resources for
TE researchers. We believe that the platform will become a valuable tool for
researchers and users of Textual Entailment.</p>
      <p>Acknowledgment. This work was supported by the EC-funded project
EXCITEMENT (FP7 ICT-287923).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Androutsopoulos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malakasiotis</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A Survey of Paraphrasing and Textual Entailment Methods</article-title>
          .
          <source>Journal of Arti cial Intelligence Research</source>
          <volume>38</volume>
          (
          <year>2010</year>
          )
          <volume>135</volume>
          {
          <fpage>187</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bentivogli</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magnini</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dagan</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Trang</given-names>
            <surname>Dang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Giampiccolo</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>The fth PASCAL recognising textual entailment challenge</article-title>
          .
          <source>In: Proceedings of the TAC 2009 Workshop on Textual Entailment</source>
          , Gaithersburg,
          <string-name>
            <surname>MD</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Berant</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dagan</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goldberger</surname>
          </string-name>
          , J.:
          <article-title>Learning entailment relations by global graph structure optimization</article-title>
          .
          <source>Computational Linguistics</source>
          <volume>38</volume>
          (
          <issue>1</issue>
          ) (
          <year>2012</year>
          )
          <volume>73</volume>
          {
          <fpage>111</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dagan</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Glickman</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magnini</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>The PASCAL Recognising Textual Entailment Challenge</article-title>
          .
          <source>In: Proceedings of the First PASCAL Challenges Workshop on Recognising Textual Entailment</source>
          , Southampton, UK (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gurevych</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Muhlhauser,
          <string-name>
            <surname>M.</surname>
          </string-name>
          , Muller,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Steimle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Weimer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zesch</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Darmstadt knowledge processing repository based on UIMA</article-title>
          .
          <source>In: Proceedings of the First Workshop on Unstructured Information Management Architecture at the Conference of the Society for Computational Linguistics and Language Technology</source>
          , Tubingen,
          <string-name>
            <surname>Germany</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Koehn</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Birch</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Callison-Burch</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Federico</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bertoldi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cowan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moran</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zens</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dyer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bojar</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Constantin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Herbst</surname>
          </string-name>
          , E.: Moses:
          <article-title>Open source toolkit for statistical machine translation</article-title>
          .
          <source>In: Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics</source>
          , Prague, Czech Republic (
          <year>2007</year>
          )
          <volume>177</volume>
          {
          <fpage>180</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sammons</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vydiswaran</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roth</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Recognizing textual entailment</article-title>
          . In Bikel,
          <string-name>
            <given-names>D.M.</given-names>
            ,
            <surname>Zitouni</surname>
          </string-name>
          , I., eds.:
          <article-title>Multilingual Natural Language Applications: From Theory to Practice</article-title>
          . Prentice
          <string-name>
            <surname>Hall</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>