What Is This, Anyway: Automatic Hypernym Discovery

Can a system that “learns from reading” figure out on it’s own the semantic classes of arbitrary noun phrases? This is essential for text understanding, given the limited coverage of proper nouns in lexical resources such as WordNet. Previous methods that use lexical patterns to discover hypernyms suffer from limited precision and recall. We present methods based on lexical patterns that find hypernyms of arbitrary noun phrases with high precision. This more than doubles the recall of proper noun hypernyms provided by WordNet at a modest cost to precision. We also present a novel method using a Hidden Markov Model (HMM) to extend recall further. Introduction and Motivation A goal of “Machine Reading” is an automatic system that extracts information from text and supports a wide range of inferencing capabilities (Etzioni, Banko, and Cafarella 2006). To enable such inferencing, an Information Extraction (IE) system must go beyond representing extracted entities as text strings and ontologize the text strings (Pennacchiotti and Pantel 2006; Soderland and Mandhani 2007). This involves semantically typing the text strings, grounding the string in real world entities where possible, and mapping the string to a concept in a formal taxonomy. In many cases, particularly for proper nouns, the text string is not found in an existing taxonomy and must be added on the fly as a child of an existing concept. This paper focuses on just one step in this ontologizing process: finding hypernyms for an arbitrary noun phrase (NP). This is a necessary first step in semantically typing the NP and mapping it to a node in a taxonomy. The problem that we address here is as follows. Given an NP e, find a set of NPs ci such that each ci is a hypernym of e in some sense as judged by a human. hypernymOf(e) = {c1, c2, . ck} Note that we define hypernymy as a relation between surface forms and not “synsets”, as is done in WordNet. Copyright c © 2009, Association for the Advancement of Artificial Intelligence (www.aaai.org). All rights reserved. Consider the example of an NP extracted from the Web, “Borland Delphi”. This term is not found in WordNet, but lexical patterns in a large corpus suggest that Borland Delphi may have the following hypernyms: hypernymOf(Borland Delphi) = development environment = software development system = software tool = language = technology The rest of this paper is organized as follows. We discuss previous attempts at solving this problem. The manually engineered WordNet thesaurus (Miller et al. 1990) has good coverage of common nouns, but contains relatively few entries for Proper Nouns. Several researchers have used methods based on lexical patterns to discover hypernyms (Hearst 1992; Roark and Charniak 1998; Caraballo 1999; Snow, Jurafsky, and Ng 2005), although each of these methods suffers from limited precision and recall. We then present a series of methods for finding hypernyms of arbitrary NPs: HYPERNYMFINDERfreq which is based on the frequency of Hearst pattern matches and HYPERNYMFINDERsvm that uses a Support Vector Machine (SVM) classifier to incorporate additional features. Each of these systems learns to find hypernyms from lexical patterns and corpus statistics. Since this is an inherently error-prone process, each version of HYPERNYMFINDER assigns a probability to each ci it finds. Finally, we present HYPERNYMFINDERhmm, which uses an HMM language model to extend the recall of HYPERNYMFINDER to cover NPs that do not match any of the lexical patterns used by the previous versions. Previous Work on Hypernym Discovery The WordNet thesaurus (Miller et al. 1990) is a highprecision lexical resource that has served as a baseline for hypernym discovery since the 1990’s. On a test set of 953 Noun phrases randomly selected from our Web corpus, we found that only 17% of the proper nouns and 64% of the common nouns were covered by WordNet. Information is often spotty even for NPs that are found in WordNet. For example, WordNet has an entry for “Mel Gibson” as an instance of the class “actor”, a subclass of “human”, but does not indicate that he is a “man”. We would need to use other