While traditional Information Extraction (IE) (ARPA, 1991; ARPA, 1998) focused on identifying and extracting specific relations of interest, there has been great interest in scaling IE to a broader set of relations and to far larger corpora (Banko et al., 2007; Hoffmann et al., 2010; Mintz et al., 2009; Carlson et al., 2010; Fader et al., 2011). However, the requirement of having pre-specified relations of interest is a significant obstacle. Imagine an intelligence analyst who recently acquired a terrorist's laptop or a news reader who wishes to keep abreast of important events. The substantial endeavor in analyzing their corpus is the discovery of important relations, which are likely not pre-specified. Open IE (Banko et al., 2007) is the state-of-the-art approach for such scenarios.
However, the state-of-the-art Open IE systems, R
Secondly, R
Referring to Table 1,
Open IE systems extract tuples consisting of argument phrases from the input sentence and a phrase from the sentence that expresses a relation between the arguments, in the format (arg1; rel; arg2). This is done without a pre-specified set of relations and with no domain-specific knowledge engineering. We compare
The task of Semantic role labeling is to identify arguments of verbs in a sentence, and then to classify the arguments by mapping the verb to a semantic frame and mapping the argument phrases to roles in that frame, such as agent, patient, instrument, or benefactive. SRL systems can also identify and classify arguments of relations that are mediated by nouns when trained on NomBank annotations. Where SRL begins with a verb or noun and then looks for arguments that play roles with respect to that verb or noun, Open IE looks for a phrase that expresses a relation between a pair of arguments. That phrase is often more than simply a single verb, such as the phrase ‘plays a role in’, or ‘is the CEO of’.
We start with over 110,000 seed tuples—these are high confidence R
For each seed tuple, we retrieve all sentences in a Web corpus that contains all content words in the tuple (302). We obtain a total of 18 million sentences. For our example, we will retrieve all sentences that contain ‘Federer’, ‘Paul’, ‘Annacone’ and some syntactic variation of ‘coach’. We may find sentences like “Now coached by Annacone, Federer is winning more titles than ever.”
Our bootstrapping hypothesis assumes that all these sentences express the information of the original seed tuple. This hypothesis is not always true. As an example, for a seed tuple (Boyle; is born in; Ireland) we may retrieve a sentence “Felix G. Wharton was born in Donegal, in the northwest of Ireland, a county where the Boyles did their schooling.”
To reduce bootstrapping errors we enforce additional dependency restrictions on the sentences (303). We only allow sentences where the content words from arguments and relation can be linked to each other via a linear path of size four in the dependency parse. To implement this restriction, we only use the subset of content words that are headwords in the parse tree. In the above sentence ‘Ireland’, ‘Boyle’ and ‘born’ connect via a dependency path of length six, and hence this sentence is rejected from the training set. This reduces our set to 4 million (seed tuple, sentence) pairs.
In our implementation, we use Malt Dependency Parser (Nivre and Nilsson, 2004) for dependency parsing, since it is fast and hence, easily applicable to a large corpus of sentences. We post-process the parses using Stanford's CCprocessed algorithm, which compacts the parse structure for easier extraction (de Marneffe et al., 2006).
We randomly sampled 100 sentences from our bootstrapping set and found that 90 of them satisfy our bootstrapping hypothesis (64 without dependency constraints). We find this quality to be satisfactory for our needs of learning general patterns.
Bootstrapped data has been previously used to generate positive training data for IE (Hoffmann et al., 2010; Mintz et al., 2009). However, previous systems retrieved sentences that only matched the two arguments, which is error-prone, since multiple relations can hold between a pair of entities (e.g., Bill Gates is the CEO of, a co-founder of, and has a high stake in Microsoft).
Alternatively, researchers have developed sophisticated probabilistic models to alleviate the effect of noisy data (Riedel et al., 2010; Hoffmann et al., 2011). In our case, by enforcing that a sentence additionally contains some syntactic form of the relation content words, our bootstrapping set is naturally much cleaner.
Moreover, this form of bootstrapping is better suited for Open IE's needs, as we will use this data to generalize to other unseen relations. Since the relation words in the sentence and seed match, we can learn general pattern templates that may apply to other relations too. We discuss this process next.
Open pattern templates encode the ways in which a relation (in the first column) may be expressed in a sentence (second column). For example, a relation (Godse; kill; Gandhi) may be expressed with a dependency path (#2) {Godse}↑nsubj↑{kill:postag=VBD}↓dobj↓{Gandhi}.
To learn the pattern templates, we first extract the dependency path connecting the arguments (501) and relation words (502) for each seed tuple and the associated sentence (401-403). We annotate the relation node in the path with the exact relation word (as a lexical constraint) and the POS (postag constraint) (503). We create a relation template from the seed tuple by normalizing ‘is’/‘was’/‘will be’ to ‘be’, and replacing the relation content word with {rel} (504). (Note: Our current implementation only allows a single relation content word; extending to multiple words is straightforward—the templates will require rel1, rel2, . . . )
If the dependency path has a node that is not part of the seed tuple, we call it a slot node. Intuitively, if slot words do not negate the tuple they can be skipped over. As an example, ‘hired’ is a slot word for the tuple (Annacone; is the coach of; Federer) in the sentence “Federer hired Annacone as a coach”. We associate postag and lexical constraints with the slot node as well. (see #5 in Table 2).
Next, we perform several syntactic checks on each candidate pattern (404-406). These checks are the constraints that we found to hold in very general patterns, which we can safely generalize to other unseen relations. The checks are: (1) There are no slot nodes in the path. (2) The relation node is in the middle of arg1 and arg2. (3) The preposition edge (if any) in the pattern matches the preposition in the relation. (4) The path has no nn or amod edges.
If the checks hold true we accept it as a purely syntactic pattern with no lexical constraints. Others are semantic/lexical patterns and require further constraints to be reliable as extraction patterns.
Table 2: Sample open pattern templates. Notice that some patterns (1-3) are purely syntactic, and others are semantic/lexically constrained (in bold font). A dependency parse that matches pattern #1 is shown in
2.1 Purely Syntactic Patterns
For syntactic patterns, we aggressively generalize to unseen relations and prepositions (407). We remove all lexical restrictions from the relation nodes. We convert all preposition edges to an abstract {prep_*} edge. We also replace the specific prepositions in extraction templates with {prep}.
As an example, consider the sentences, “Michael Webb appeared on Oprah . . . ” and “ . . . when Alexander the Great advanced to Babylon.” and associated seed tuples (Michael Webb; appear on; Oprah) and (Alexander; advance to; Babylon). Both these data points return the same open pattern after generalization: “{arg1} ↑nsubj↓{rel:postag=VBD} ↓{prep_*}↓ {arg2}” with the extraction template (arg1, {rel} {prep}, arg2). Other examples of syntactic pattern templates are #1-3 in Table 2.
2.2 Semantic/Lexical Patterns
Patterns that do not satisfy the checks are not as general as those that do, but are still important. Constructions like “Microsoft co-founder Bill Gates . . . ” work for some relation words (e.g., founder, CEO, director, president, etc.) but would not work for other nouns; for instance, from “Chicago Symphony Orchestra” we should not conclude that (Orchestra; is the Symphony of; Chicago).
Similarly, we may conclude (Annacone; is the coach of; Federer) from the sentence “Federer hired Annacone as a coach.”, but this depends on the semantics of the slot word, ‘hired’. If we replaced ‘hired’ by ‘fired’ or ‘considered’ then the extraction would be false.
To enable such patterns we retain the lexical constraints on the relation words and slot words. (For highest precision extractions, we may also need semantic constraints on the arguments. In this work, we increase our yield by ignoring the argument-type constraints.) We collect all patterns together based only on the syntactic restrictions (408) and convert the lexical constraint into a list of words with which the pattern was seen (409). Example #5 in Table 2 shows one such lexical list.
Can we generalize these lexically-annotated patterns further? Our insight is that we can generalize a list of lexical items to other similar words (410). For example, if we see a list like {CEO, director, president, founder}, then we should be able to generalize to ‘chairman’ or ‘minister’.
Several ways to compute semantically similar words have been suggested in the literature like Wordnet-based, distributional similarity, etc. (e.g., (Resnik, 1996; Dagan et al., 1999; Ritter et al., 2010)). For our proof of concept, we use a simple overlap metric with two important Wordnet classes—Person and Location. We generalize to these types when our list has a high overlap (>75%) with hyponyms of these classes. If not, we simply retain the original lexical list without generalization. Example #4 in Table 2 is a type-generalized pattern.
We combine all syntactic and semantic patterns and sort in descending order based on frequency of occurrence in the training set (411). This imposes a natural ranking on the patterns—more frequent patterns are likely to give higher precision extractions.
As an example, consider the sentence: “I learned that the 2012 Sasquatch music festival is scheduled for May 25th until May 28th.”
For the arguments we expand on amod, nn, det, neg, prep_of, num, quantmod edges to build the noun-phrase (606). When the base noun is not a proper noun, we also expand on rcmod, infmod, partmod, ref, prepc_of edges, since these are relative clauses that convey important information. For relation phrases, we expand on advmod, mod, aux, auxpass, cop, prt edges (607). We also include dobj and iobj in the case that they are not in an argument. After identifying the words in arg/relation we choose their order as in the original sentence (608). For example, these rules will result in the extraction (the Sasquatch music festival; be scheduled for; May 25th).
Cases where
Another case is when the extraction is only conditionally true. Sentence #5 in Table 1 does not assert as factual that (Romney; will be elected; President), so it is an incorrect extraction. However, adding a condition (“if he wins five states”) can turn this into a correct extraction. We extend
Our approach for extracting these additional fields makes use of the dependency parse structure (701). We find that attributions are marked by a ccomp (clausal complement) edge. For example, in the parse of sentence #4 there is a ccomp edge between ‘believe’ and ‘center’. Our algorithm first checks for the presence of a ccomp edge to the relation node (702). However, not all ccomp edges are attributions. We match the context verb (e.g., ‘believe’) with a list of communication and cognition verbs from VerbNet (Schuler, 2006) to detect attributions (703). The context verb and its subject then populate the AttributedTo field (704).
Similarly, the clausal modifiers are marked by advcl (adverbial clause) edge (705). We filter these lexically, and add a ClausalModifier field when the first word of the clause matches a list of 16 terms created using a training set: {if, when, although, because, . . . } (706-707).
We use a supervised logistic regression classifier for the confidence function (709). Features include the frequency of the extraction pattern, the presence of AttributedTo or ClausalModifier fields, and the position of certain words in the extraction's context, such as function words or the communication and cognition verbs used for the AttributedTo field (708). For example, one highly predictive feature tests whether or not the word ‘if’ comes before the extraction when no ClausalModifier fields are attached. Our training set was 1000 extractions drawn evenly from Wikipedia, News, and Biology sentences.
From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
This application claims the benefit of U.S. Provisional Patent Application No. 61/728,063 filed Nov. 19, 2012, entitled “Open Language Learning for Information Extraction,” which is incorporated herein by reference in its entirety.
This invention was made with government support under Grant No. FA8750-09-c-0179, awarded by the Defense Advanced Research Projects Agency (DARPA), Grant No. FA8650-10-7058, awarded by the Intelligence Advanced Research Projects Activity, Grant No. IIS-0803481, awarded by the National Science Foundation, and Grant No. N00014-08-1-0431 awarded by the Office of Naval Research (ONR). The government has certain rights in the invention.
| Number | Date | Country | |
|---|---|---|---|
| 61728063 | Nov 2012 | US |