<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Annotated Search and Element Retrieval</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Hugo</forename><surname>Zaragoza</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Yahoo! Research</orgName>
								<address>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Michael</forename><surname>Matthews</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Yahoo! Research</orgName>
								<address>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Roi</forename><surname>Blanco</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Yahoo! Research</orgName>
								<address>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jordi</forename><surname>Atserias</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Yahoo! Research</orgName>
								<address>
									<settlement>Barcelona</settlement>
									<country key="ES">Spain</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Annotated Search and Element Retrieval</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">61E5522CFDF09330238377A731CB0BC9</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-19T16:19+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Despite the great interest in dierent forms of textual annotation (named entity extraction, semantic tagging, syntactic and semantic parsing, etc.), there is still no consensus about which search tasks can be improved with such annotations, and what search algorithms are required to implement ecient engines to solve these tasks. We dene formally two retrieval tasks in annotated collections: annotated retrieval and element retrieval. We discuss their dierences and describe ecient indexing structures, and how they can be implemented in Lucene and MG4J, two open source retrieval engines. Finally, we give a technical overview of two element retrieval use cases.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>There has been a great deal of work in natural language processing (NLP) over the past several decades. While there has been hope that this work will translate into better search, this still has not been clearly realized. Most NLP processing involves adding annotations to documents that help to clarify the documents intended meaning. Named-entity recognition (NER) is one of the most studied NLP techniques and one that has signicant potential to improve search applications. The following is just a sample of examples queries: 1) [George Bush, PERSON] , 2) [George Bush, PERSON] born <ref type="bibr">[DATE]</ref> , 3) IBM ceo <ref type="bibr">[PER-SON]</ref> . Like traditional ad-hoc queries in Information Retrieval, these queries should return a set of document or passages. A dierent type of query aims at retrieving and ranking the entities themselves (instead of the documents). For example, in tasks such as person nding, entity ranking, or queries such as <ref type="bibr">: 4)</ref> nd people related to George Bush or 5) nd institutions (or dates, or emotionally charged verbs) related to the query impact of terrorism on public opinion in Great Britain .</p><p>There are many potential search tasks over annotated collections, but they often require specialized indexes and algorithms. This makes it hard to establish a research agenda for annotated search. But as more and more examples appear (publications, applications) some trends emerge and we can hope to establish common frameworks and technologies. In this paper we propose a division into two families of annotated search tasks : Annotated Retrieval: retrieval of documents relevant to an annotated ad-hoc query.</p><p>Element Retrieval: retrieval of elements (e.g. entities, not documents) relevant to an ad-hoc query. Annotated Retrieval is the standard ad-hoc document retrieval task, with the added diculty of coping with annotated collections and queries (examples 1-3 above). Element retrieval is signicantly dierent from document retrieval, because what is returned is not a ranked list of documents, but rather, a ranked list of elements such as entities (examples 4-5 above).</p><p>In the remaining of the paper we discuss both tasks, with an emphasis on the later. We describe ecient indexing mechanisms required by them (Sections 2 and 3) and describe several use cases.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.1">Related Work</head><p>With the incredible growth of the Internet, there has been a great deal of work on eciently searching large collections <ref type="bibr" target="#b13">[14,</ref><ref type="bibr" target="#b15">16]</ref> including a number of open source search implementations such as Lucene <ref type="bibr" target="#b18">[19]</ref> and MG4J <ref type="bibr" target="#b19">[20,</ref><ref type="bibr" target="#b5">6]</ref>. In the bulk of this work, a document (or passage) is represented by tokens, possibly with some simple stemming operations, but without any further linguistic annotations. There has been a parallel eort to move beyond keyword representation to capture the meaning of documents. The semantic web has long promised delivering content in machine understand form, typically based in RDF <ref type="bibr" target="#b12">[13]</ref>. However, the bulk of information today is still in the form of free text which has lead to a surge of research into natural language processing and an increasing number of annotation frameworks such as GATE <ref type="bibr" target="#b7">[8]</ref> and UIMA <ref type="bibr" target="#b9">[10]</ref> which allow for large documentation annotation projects. The benet of the resulting annotations to search applications has been shown in such areas as biotechnology, legal document retrieval, etc. Entity ranking has also been gaining interest in dierent forms: expert search, people search, and other forms of entity ranking have been addressed by the major evaluation campaigns (such as INEX <ref type="bibr" target="#b0">[1]</ref> and TREC <ref type="bibr" target="#b3">[4]</ref>). Some academic and commercial search applications have appeared on different entity search tasks, such as Beagle++ <ref type="bibr" target="#b6">[7]</ref> which provides a semantic-based desktop search utility. However, in our opinion there is still the need of a clear framework for research in annotation retrieval and entity ranking; Rode <ref type="bibr" target="#b11">[12]</ref> provides an early attempt on entity ranking, very much in the lines of our present</p><p>work.</p><p>Several open source search engines have tackled the technical problems of implementing annotated search engines, mainly (to our knowledge): PF-Tijah <ref type="bibr" target="#b8">[9]</ref> a native XML search-engine, Solr <ref type="bibr" target="#b21">[22]</ref> and LuceneSail <ref type="bibr" target="#b10">[11]</ref>, which combines the keyword search capabilities of Lucene with structured data stores, and MG4J v3.0 and Archive4J <ref type="bibr" target="#b16">[17,</ref><ref type="bibr" target="#b19">20]</ref> which implement parallel indexes and can be combined to build ecient element indices.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.2">Notation</head><p>There is no standard notation for retrieval on annotated collections, and dierent authors have used terms to mean slightly dierent things (terms like entity, forward index, etc). For this reason we are forced to introduce our own term denitions and notations. We will discuss annotations and elements (entities, in a very general sense); relations are outside the scope of this paper.</p><p>A passage</p><p>∈ is a sequence of tokens plus context: = ( 1 , 2 , ..., | | , )</p><p>.</p><p>Passages may be sentences, paragraphs, documents, sliding windows of text, but they need to be uniquely identied textual units (for now we do not allow any structure on the units). Tokens will typically correspond to words, but language tokenisation is a dicult business and outside the scope of this paper. We will assume that there is some tokeniser that has taken raw text and segmented it into tokens. Passages may contain some context information ( ) such as the title of the document, a surrounding window of text, external meta-data, etc.</p><p>A token annotation is the tuple = ( , , , ) where is the identier of the passage annotated, and are the beginning and ending positions of the annotation respectively, and is the type of the annotation. An element is a tuple = ( , ) where is its value (a sequence of tokens) and is its type. Unlike annotations, elements are not tied to a particular passage. We call ℰ the set of all elements.</p><p>Annotations can be obtained by automatic or manual extraction and can be encoded in many dierent ways, depending on their intended usage, their sizes, types, etc. The following sections will discuss this issue.</p><p>We also need some notation to express search queries. Given the collection of passages , a query is dened as a function that maps to a ranked subset . We will use the following query operators (which can be combined into more complex queries): conjunction " " retrieves passages with tokens and , disjunction " | " retrieves passages with tokens or , eld restriction :</p><p>retrieves passages with token in eld , position restriction "[ , ] ∼ " retrieves passages where token is followed by token in a window of at most tokens, and alignment " ∧ " retrieves passages where token is aligned with (in the same position as) token .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Annotated Passage Retrieval</head><p>Inverted indices allow fast and ecient retrieval of passages for token queries allowing some operators (such as disjunctive and conjunctive queries, token prexes, constraints on match distances, etc). It is possible to modify these indices to allow similar query operators on an annotated collection.</p><p>In its basic form, an inverted index contains one postings list for every token present in the collection. Typically, postings lists may contain information arranged into dierent levels of granularity, from the presence/absence of tokens to their frequency or retrieval weight, their position, eld information, typography, etc. It is possible to modify inverted indices slightly to perform retrieval and ranking over annotated collections. One approach is to implement several parallel indexes on the collection, by allowing several tokens in dierent elds to share the same position: the main index stores the positions of text tokens, and each additional index stores the annotations of the dierent types. At a low-level this implies building a dierent index for each type we want to include in a query (tokens, entity types, and so on), and implementing a fast alignment operator. This can be solved by encoding the limits into the types. In particular, we concatenate to the type a character encoding the bracketing (e.g. beginning (B ), ending (E ), continuing (I ) or a single token (U )). This way we can query for apple^SUBSTANCE_U and [New^CITY_B, York^CITY_E]∼1 .</p><p>There is a special type of annotated query that is common in applications and that does not require a full-blown parallel index: a type restriction. Here, we want to restrict our search to passages that contain a particular annotation type In applications such as element ranking and faceted search we are required to provide a ranked list of elements (not documents) that are relevant to the query in some sense. This requires more analysis in the corpus than the standard retrieval task: after solving the query and obtaining a ranked list of passages ( ),</p><p>we need to nd which elements appear in those documents ( ), a potentially expensive operation.</p><p>The most straightforward method would be, for each returned passage, to load the full original annotated passage and simply traverse the passage counting the annotations. The performance would be highly dependent on the eciency with which the passage annotations could be loaded given the passage identier.</p><p>If the original documents are stored as individual les in a le system or as records in a database system, it may be possible to retrieve 10 or even 100 passages, but retrieving even 1000 passages will not be feasible for a real time search application. It is clear that a more ecient data structure must be used to perform the counts.</p><p>If we ignore the positions of annotations ( and ) the relationship between passages and element instances can be represented conceptually as a graph, in which each passage ∈ and each element ∈ ℰ are nodes, and there is a directed edge from to if the element is present (contained) in the passage .</p><p>We call this an element containment graph C, and since it is a bipartite graph it can be represented as a | | × |ℰ| matrix, where is the strength of connection between passage and element (typically 1 if it appears, 0 otherwise).</p><p>At query time, we execute the standard query and obtain the set of passages of interest ( , or perhaps only the top-scores in this set). Then, for every passage of interest we query to obtain the elements contained in the passage.</p><p>Doing so, we obtain the subgraph ⊆ which contains information useful for ranking, such as the frequency of an entity in the result set.</p><p>Representing as a graph allows us to use tools from graph theory and linear algebra to further understand and manipulate elements. For example, we see that the passage frequency of an element is equal to its degree in the graph, and this can be extended to the weighted degree, which takes into account the strength of the connection of each of its instances. Furthermore, CC gives us a passage similarity (equal to the number of element co-occurrences if C is binary), and C C an entity similarity (number of passage co-occurrences if C is binary). We can further use C to dene graph centrality algorithms such as HITS or PageRank, or to dene several types of random walks <ref type="bibr" target="#b11">[12]</ref>.</p><p>Representing C as a bipartite graph also allows us to use existing graph compression and querying algorithms, such as WebGraph <ref type="bibr" target="#b4">[5]</ref>. The actual values of the entities and passages (e.g. its string values and other meta-data) are typically stored separately in dictionaries, for example as alphabetically ordered les (or further compressed as front-encoded lists for example). This makes it possible to keep in memory element containment graphs of millions of nodes, and query them many thousands of times per second.</p><p>Like any sparse matrix, C can also be represented as an index either in row (passage) order or column (element) order. A row can be seen as a description of the elements contained in a passage:</p><p>: { 1 , ..., }, whereas a column is a description of the passages in which an element is present : { 1 , ..., }. Both these representations lead to ecient indexes which allow querying for passages (in the rst case) and for elements (in the second case). If instead of elements we were considering textual terms, then the column vectors would be similar to an inverted index. Pushing the analogy, some people refer to row or passage order indices as forward indices.</p><p>There exist ecient algorithms to store forward indices. Archive4J <ref type="bibr" target="#b16">[17]</ref> was specically designed for this purpose, and implements a data structure called an archive, which builds a direct le of a document collection allowing retrieval of data from a single document, specically its length in words and which terms occur in the document with their respective term frequencies. The tool provides random access to documents while being able to obtain high compression ratios.</p><p>By indexing elements instead of terms, we can obtain a forward index (a row of C). Solr, a search engine built using the Lucene libraries, has a similar structure referred to as an UnInvertedIndex. Both structures are useful to rapidly determine (and possibly count) which elements are present in , the (possibly very large) set of passages returned by the query.</p><p>The following subsections describe the technical details of two applications that utilize many of these techniques.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Correlator</head><p>Correlator <ref type="bibr" target="#b17">[18,</ref><ref type="bibr" target="#b14">15]</ref> is an entity retrieval demo on the English Wikipedia. It allows users to search for entities (elements of certain types) related to a free query. The collection in Correlator consists of 2,276,293 English Wikipedia entries (roughly one billion words). This collection was pre-processed with a set of linguistic tools (see <ref type="bibr" target="#b1">[2]</ref> for an explanation) to obtain annotations following the Wall Street Journal BBN Entity Types from LDC 1 . This lead to 26,110,586 unique elements of 105 types.</p><p>In order to implement element retrieval in Correlator, we use several of the data structures discussed above. First, a passage is dened as a single sentence (an automatic sentence splitter was used for this, leading to 62,614,788 sentences).</p><p>The context of a passage is dened as the Wikipedia entry title, plus the two sentences immediately before and after the sentence indexed. This content is indexed in a separate eld to the sentence (which forms the body of the retrieval unit). Furthermore, in order to implement ltering by type, we index with each sentence a sequence of type tokens which indicate which types are present in the sentence. This type of index allows us to nd passages (sentences) relevant to a query, and to lter them by type. To implement entity retrieval, we also construct the element containment graph using the top 1000 results. This graph contains one node per sentence, one node per element and one edge per annotation; the size of the resulting graph, once compressed using WebGraph, is 1.8G bytes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Question eXplorer</head><p>Question eXplorer (QX) <ref type="bibr" target="#b20">[21]</ref> is a browsing interface that demonstrates the power of combining linguistic parsing and fast forward indices. Every time the user types a query, besides doing the traditional retrieval, it computes statistics over all the elements present in the result set (e.g. in the query element containment graph ). It uses these statistics to build lists of the most frequent elements of every type and proposes them to the users for query completion. The types of elements used are very specic: noun phrases (NPs), verbs (Vs), noun modiers (K), verb modiers (M) and numbers (Q). In order to extract the most interesting elements in a passage, we pre-process the passage using a linguistic parser (as described in <ref type="bibr" target="#b1">[2]</ref>) and select the elements closest to the root of the parsing tree.</p><p>Furthermore, for noun phrases with more than one token, we created elements for the phrase and for sub-phrases containing the head (e.g. we created the element [cheap computer screen,NP], but also [compute screen,NP] and [screen,NP]).</p><p>In order to implement this eciently we need to rank all the elements present in a result set. This problem is similar to the entity ranking problem, but with some dierences. First, the number of entities is potentially very large: every verb and noun-phrase, and many sub-strings of these. Second, the number of types is very small (only two). Third, we want to count all the elements in the returned passages (or as many as possible), not just the top-. In order to implement this, we encoded the element containment graph as a fast passageelement index (using the Archive4J libraries <ref type="bibr" target="#b16">[17]</ref>). For a collection of 4,483,032 questions (roughly 48M tokens) we extracted 56,280,105 elements (roughly 390M</p><p>bytes of text). The forward and backward indices are implements using MG4J.</p><p>The inverted index for searching passages (standard token inverted index) results in a size of 2,144M bytes. The element forward index (implemented using the archive4J library) has a size of 656M bytes.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusions and Future Work</head><p>We have formally dened two retrieval tasks on annotated collections and described how these tasks have been implemented for two applications using open source tools. In the future, we plan on evaluating the performance of the techniques presented in order to provide guidelines for building annotated search applications.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>For instance, querying for the element 1 =[apple, SUBSTANCE] would require a searching for the text-token apple in the same position as the type-token SUBSTANCE. The query for the element 1 could be translated then into apple:TOKENS ^SUBSTANCE:TYPES . A passage would satisfy this query if both apple and SUBSTANCE are found in the same passage at the same position. Since the alignment operator preserves the semantics of the other query operators, the result is a very powerful query language over annotated collections. Alignment can be used in combination with phrasal queries, negation, positional restrictions, etc. For example, we could query for pizza or pasta in New York as [(pizza|pasta) [New^CITY, York^CITY]∼1]]∼10 . Note that in the examples above we did not enforce the limits of the elements: our queries would incorrectly match longer elements (such as [apple pie, SUB-STANCE] ) or sequences of short ones (such as [New, CITY] [York, CITY] ).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>(e.g. Einstein DATE ). We are not concerned with the position of the type annotation in the text, or even with the actual value of the annotation. This type of ltering is easily implemented using elds (without positions) where we simply store the types present in the passage.Parallel inverted indices can be easily implement in traditional search engines with positional indices, and for this reason they have been used extensively although rarely discussed in the academic literature. In the open domain, parallel indices are implemented in MG4J and can be implemented easily in other frameworks such as Lucene. For example, in Lucene, one can obtain a parallel index by writing a document reader that does not increment the position (setting Po-sitionIncrement to 0) when types are encountered. Although Lucene does not provide specically an alignment operator, one can obtain one by forcing a distance of zero between the token and the type. In MG4J parallel indices can be obtained naturally by indexing dierent elds and aligning them at query time with the alignment operator. Another example of a parallel index discussed in the literature is the colored index used by Attardi's IXE system<ref type="bibr" target="#b2">[3]</ref>.</figDesc></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Overview of the inex 2008 entity ranking track</title>
		<imprint>
			<date type="published" when="2008">2008</date>
			<publisher>INEX</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Semantically annotated snapshot of the english wikipedia</title>
		<author>
			<persName><forename type="first">J</forename><surname>Atserias</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Zaragoza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ciaramita</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Attardi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LREC&apos;08</title>
				<imprint>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">IXE at the TREC 2005 Terabyte Task</title>
		<author>
			<persName><forename type="first">G</forename><surname>Attardi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>TREC</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Overview of the trec 2007 enterprise track</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bailey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>De Vries</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Craswell</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Soboro</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of TREC 2007 the 16th Text REtrieval Conference</title>
				<meeting>TREC 2007 the 16th Text REtrieval Conference</meeting>
		<imprint>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">The WebGraph framework I: Compression techniques</title>
		<author>
			<persName><forename type="first">P</forename><surname>Boldi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Vigna</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WWW 2003</title>
				<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page">595601</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">MG4J at TREC</title>
		<author>
			<persName><forename type="first">P</forename><surname>Boldi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Vigna</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">TREC 2005</title>
				<imprint>
			<publisher>NIST</publisher>
			<date type="published" when="2005">2005. 2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">The beagle++ toolbox: Towards an extendable desktop search architecture</title>
		<author>
			<persName><forename type="first">I</forename><surname>Brunkhorst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">A</forename><surname>Chirita</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Costache</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Gaugaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Ioannou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Iofciu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Minack</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Nejdl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Paiu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SemDesk</title>
		<imprint>
			<biblScope unit="volume">202</biblScope>
			<date type="published" when="2006-11">2006. November 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">GATE: A framework and graphical development environment for robust NLP tools and applications</title>
		<author>
			<persName><forename type="first">H</forename><surname>Cunningham</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Maynard</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Bontcheva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Tablan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACL</title>
				<imprint>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">PF/Tijah: text search in an XML database system</title>
		<author>
			<persName><forename type="first">R</forename><surname>Van Os</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Hiemstra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Rode</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Flokstra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">OSIR</title>
		<imprint>
			<biblScope unit="page">1217</biblScope>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">UIMA: an architectural approach to unstructured information processing in the corporate research environment</title>
		<author>
			<persName><forename type="first">D</forename><surname>Ferrucci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lally</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Nat. Lang. Eng</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="issue">3-4</biblScope>
			<biblScope unit="page">327348</biblScope>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">The sesame lucene sail: Rdf queries with full-text search</title>
		<author>
			<persName><forename type="first">E</forename><surname>Minack</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Sauermann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Grimnes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Fluit</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Broekstra</surname></persName>
		</author>
		<idno>2008-1</idno>
		<imprint>
			<date type="published" when="2008-02">February 2008</date>
		</imprint>
		<respStmt>
			<orgName>NEPOMUK Consortium</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical Report</note>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">From Document to Entity Retrieval: Improving Precision and Performance of Focused Text Search</title>
		<author>
			<persName><forename type="first">H</forename><surname>Rode</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2008-06">June 2008</date>
			<pubPlace>Enschede, The Netherlands</pubPlace>
		</imprint>
		<respStmt>
			<orgName>University of Twente</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The semantic web revisited</title>
		<author>
			<persName><forename type="first">N</forename><surname>Shadbolt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Berners</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Lee</surname></persName>
		</author>
		<author>
			<persName><surname>Hall</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Intelligent Systems</title>
				<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">21</biblScope>
			<biblScope unit="page">96101</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">Managing Gigabytes: Compressing and Indexing Documents and Images</title>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">H</forename><surname>Witten</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Moat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">C</forename><surname>Bell</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Morgan Kaufmann Publishers</publisher>
			<pubPlace>CA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Ranking very many typed entities on wikipedia</title>
		<author>
			<persName><forename type="first">H</forename><surname>Zaragoza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Rode</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Mika</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Atserias</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ciaramita</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Attardi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CIKM &apos;07</title>
				<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">Inverted les for text search engines</title>
		<author>
			<persName><forename type="first">J</forename><surname>Zobel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Moat</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Computing Surveys</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="page">156</biblScope>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title/>
		<author>
			<persName><surname>Archive4j</surname></persName>
		</author>
		<ptr target="http://archive4j.dsi.unimi.it" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<monogr>
		<ptr target="http://sandbox.yahoo.com/Correlator" />
		<title level="m">Yahoo! SandBox</title>
				<imprint/>
	</monogr>
	<note>Correlator</note>
</biblStruct>

<biblStruct xml:id="b18">
	<monogr>
		<ptr target="http://lucene.apache.org/" />
		<title level="m">Lucene</title>
				<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<ptr target="http://mg4j.dsi.unimi.it/" />
		<title level="m">MG4J: Managing gigabytes for java</title>
				<imprint/>
	</monogr>
	<note type="report_type">Homepage</note>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<ptr target="http://sandbox.yahoo.com/qx" />
		<title level="m">Query explorer</title>
				<imprint/>
	</monogr>
	<note>Yahoo! SandBox. to be published</note>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<ptr target="http://lucene.apache.org" />
		<title level="m">Solr</title>
				<imprint/>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
