1 Selecting Effective Patterns

When we extract information from the Web using a search engine, we want to formulate effective queries to generate usable search results. We query a combination of a pattern expressing some relation (e.g. was born in) with some instance (e.g. Albert II) and identify related instances (Brussels or Belgium) in the excerpts found by the search engine. We present a novel method to identify effective patterns [1]. A pattern is effective, if it links many different instance-pairs in the excerpts found with a search engine. Precision is only one of the criteria to identify the most effective patterns among the candidates found. The learned surface text patterns are applied in an ontology population algorithm. 1 Selecting Effective Patterns We present an algorithm to learn text patterns expressing relations [1]. We query Google with a training set TR of instance pairs that are R-related. The training set TR should be chosen such that the instance-pairs are typical for relation R. We first discover how relation R is expressed in natural language texts on the web. For example, one of the patterns that relates instances of person and city shows to be the pattern ‘was born in’. By querying pairs in TR we thus obtain a list of patterns that link the related instances. From this list we select the most effective ones. Earlier work [2], describes the identification of precise patterns. However, precision is not the only criterion for a pattern to be effective in information extraction from the web. We have formulated three criteria for selecting effective relation patterns. 1. The patterns should frequently occur on the web, to increase the probability of getting any results when querying the pattern in combination with an instance. 2. The pattern should be precise. When we query a pattern in combination with an instance, we want to have many search results containing R-related instances. 3. If relation R is not functional, the pattern should be wide-spread, i.e. among the search results when querying a combination of the pattern and an instance there must be as many distinct R-related instances as possible. We formulate scoring functions based on these criteria. In order to reduce the amount of queries, we use the frequency of patterns in the list found as an indication for their occurrence on the web. We therefore only evaluate the most frequently found patterns. We do so, since the evaluation of precision and wide-spreadness requires additional queries per pattern. 2 Using Patterns in Information Extraction from the Web Having a method to identify effective patterns, we now focus on utilizing these patterns in information extraction from texts found by a search engine. We use an ontology to represent the information extracted. Suppose we have an ontology O with classes (c1, c2, .) (e.g. Actor) and corresponding instance sets (I1, I2, .) (e.g. Jean-Claude van Damme is an instance of Actor). On these classes, relations R(i,j) are defined, with i and j the index number of the classes. The non-empty sets T(i,j) contain the training set of instance-pairs of the relations R(i,j). For example the instance pair (Tom Cruise, Top Gun) can be part of the training set to learn patterns for the relation acts in. We combine instances with learned patterns into queries. From the retrieved excerpts, we extract related instances. In this way, we simultaneously extract instances of some class and instance-pairs of some relation. Step 1: Select a relation R(i,j), and an instance v from either Ii or Ij such that there exists at least one pattern expressing R(i,j) we have not yet queried in combination with v. Step 2: Construct queries using the patterns with v and send these queries to Google. Step 3: Extract instances from the excerpts. Step 4: Add the newly found instances to the corresponding instance set and add the instance-pairs found (thus with v) to T(i,j). Step 5: If there exists an instance that we can use to formulate new queries, then repeat the procedure. Else, learn new patterns using the extracted instance-pairs and then repeat the procedure. Note that instances of class cx learned using the algorithm applied on relation R(x,y) can be used as input for the algorithm applied to some relation R(x,z) to populate the sets Iz and T(x,z). We recognize instances in the Google excerpts using regular expressions. For example, two or three capitalized words describe person names. We check the extracted terms by querying the term in combination with a class-instance relation pattern. For example, if we are interested in movies and we have extracted The Godfather, we check whether the number of hits to the query “The movie The Godfather is” exceeds a given threshold.