[FOSSology-commits] SF.net SVN: fossology:[1856] trunk/project

adamrbates at users.sourceforge.net adamrbates at users.sourceforge.net
Thu Mar 5 17:29:07 MST 2009


Revision: 1856
          http://fossology.svn.sourceforge.net/fossology/?rev=1856&view=rev
Author:   adamrbates
Date:     2009-03-06 00:29:06 +0000 (Fri, 06 Mar 2009)

Log Message:
-----------
First checkin of the sentence based license classification test code.

Added Paths:
-----------
    trunk/project/adam/
    trunk/project/adam/sentence_based_classification/
    trunk/project/adam/sentence_based_classification/database.py
    trunk/project/adam/sentence_based_classification/default.xsl
    trunk/project/adam/sentence_based_classification/f1.py
    trunk/project/adam/sentence_based_classification/library.py
    trunk/project/adam/sentence_based_classification/opennlp/
    trunk/project/adam/sentence_based_classification/opennlp/lib/
    trunk/project/adam/sentence_based_classification/opennlp/lib/ASL
    trunk/project/adam/sentence_based_classification/opennlp/lib/JWNL
    trunk/project/adam/sentence_based_classification/opennlp/lib/LIBNOTES
    trunk/project/adam/sentence_based_classification/opennlp/lib/ant.jar
    trunk/project/adam/sentence_based_classification/opennlp/lib/jakarta-ant-optional.jar
    trunk/project/adam/sentence_based_classification/opennlp/lib/jwnl-1.3.3.jar
    trunk/project/adam/sentence_based_classification/opennlp/lib/maxent-2.4.0.jar
    trunk/project/adam/sentence_based_classification/opennlp/lib/opennlp-tools-1.3.0.jar
    trunk/project/adam/sentence_based_classification/opennlp/lib/trove.jar
    trunk/project/adam/sentence_based_classification/opennlp/models/
    trunk/project/adam/sentence_based_classification/opennlp/models/EnglishSD.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/EnglishTok.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/date.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/location.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/money.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/organization.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/percentage.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/person.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/namefind/time.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/build.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/check.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/chunk.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/dict.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/head_rules
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/tag.bin.gz
    trunk/project/adam/sentence_based_classification/opennlp/models/parser/tagdict
    trunk/project/adam/sentence_based_classification/opennlp.py
    trunk/project/adam/sentence_based_classification/sparsevect/
    trunk/project/adam/sentence_based_classification/sparsevect/Makefile.am
    trunk/project/adam/sentence_based_classification/sparsevect/Makefile.old
    trunk/project/adam/sentence_based_classification/sparsevect/__init__.py
    trunk/project/adam/sentence_based_classification/sparsevect/autogen.sh
    trunk/project/adam/sentence_based_classification/sparsevect/configure.ac
    trunk/project/adam/sentence_based_classification/sparsevect/python/
    trunk/project/adam/sentence_based_classification/sparsevect/python/__init__.py
    trunk/project/adam/sentence_based_classification/sparsevect/python/build/
    trunk/project/adam/sentence_based_classification/sparsevect/python/build/temp.linux-i686-2.5/
    trunk/project/adam/sentence_based_classification/sparsevect/python/build/temp.linux-x86_64-2.5/
    trunk/project/adam/sentence_based_classification/sparsevect/python/setup.py
    trunk/project/adam/sentence_based_classification/sparsevect/python/sparsevect.c
    trunk/project/adam/sentence_based_classification/sparsevect/python/sparsevect.pyx
    trunk/project/adam/sentence_based_classification/sparsevect/python/test.py
    trunk/project/adam/sentence_based_classification/sparsevect/python/testpickle.py
    trunk/project/adam/sentence_based_classification/sparsevect/sparsevect.c
    trunk/project/adam/sentence_based_classification/sparsevect/sparsevect.h
    trunk/project/adam/sentence_based_classification/sparsevect/test
    trunk/project/adam/sentence_based_classification/sparsevect/test.c
    trunk/project/adam/sentence_based_classification/vector.py
    trunk/project/adam/sentence_based_classification/webapp/
    trunk/project/adam/sentence_based_classification/webapp/__init__.py
    trunk/project/adam/sentence_based_classification/webapp/index.html
    trunk/project/adam/sentence_based_classification/webapp/lucense
    trunk/project/adam/sentence_based_classification/webapp/manage.py
    trunk/project/adam/sentence_based_classification/webapp/settings.py
    trunk/project/adam/sentence_based_classification/webapp/urls.py
    trunk/project/adam/sentence_based_classification/webapp/views.py

Added: trunk/project/adam/sentence_based_classification/database.py
===================================================================
--- trunk/project/adam/sentence_based_classification/database.py	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/database.py	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,327 @@
+import library
+import lucene
+import vector
+import os
+import math
+import cPickle as pickle
+from datetime import datetime
+import random
+
+use_fast_vector = True
+
+class Database():
+    length = 0 # number of sentences in the database
+    vectors = [] # holds our vectors in a list
+    sentences = [] # holds the text of the sentence from the template file
+    _to_file = [] # a lookup table from sentence_id->template_file
+    _to_position = [] # a lookup table from sentence_id->position in template file
+    files = [] # file names
+    analyzer = None # the lucene analyzer we are using
+    keywords = [] # a list of stemmed words to look for
+    fingerprints = {} # file to vector dictionary. the vectors hold the sentences that occured in the template file
+    binary_lookup = {} # a lookup table for 'word'->sentences.
+    leaders = []
+
+    def __init__(self,files,analyzer,debug=False):
+        # files is a list of files to use as templates
+        # analyzer is the analyzer to use to stem/parse words from a file
+        # if debug is True then you get text pooped to the screen:)
+
+        self.files = files[:]
+        n = len(self.files)
+
+        self.analyzer = analyzer
+
+        for i in xrange(n):
+            if debug:
+                print "Starting on file %s of %s..." % (i+1,n)
+            f = self.files[i]
+            name = os.path.basename(self.files[i])
+
+            # determine if the file is an xml/html file. If so then remove tags
+            if library.determinefiletype(f) == 'text/html':
+                text = library.htmltotext(open(f).read())
+            else:
+                text = open(f).read()
+
+            fp = [] 
+            # fp holds vectors of similar sentences to template files. We can
+            # then take dot products between templates files and target files.
+
+            sentences = library.sentences(text)
+            # sentences is a list of sentences that makeup the template
+            for j in xrange(len(sentences)):
+                text_array = library.tokensFromAnalysis(sentences[j],self.analyzer)
+                # text_array is a list of processed words in order from the
+                # sentence.
+
+                # if the text in the sentence is below 4 words then insert it
+                # at the beginning of the next sentence.
+                if len(text_array)<4 and j<len(sentences)-1:
+                    sentences[j+1] = "%s %s" % (sentences[j],sentences[j+1])
+                    sentences[j] = ''
+                    text_array = []
+                    continue
+
+                # add everything to the database
+                self.sentences.append(sentences[j])
+                fp.append(len(self.sentences)-1)
+                self.vectors.append(vector.Vector(text_array,fast=use_fast_vector))
+                for k in self.vectors[-1].text_count.keys():
+                    self.binary_lookup[k] = self.binary_lookup.get(k,[])
+                    self.binary_lookup[k].append(len(self.sentences)-1)
+                self._to_file.append(name)
+                self._to_position.append(j)
+                self.length += 1
+            # add the list of sentence ids to a vector and stick it into the
+            # fingerprint dictionary
+            self.fingerprints[name] = vector.Vector(fp,fast=use_fast_vector)
+
+        # Add an empty vector for the Unknown sentences. We use an empty vector
+        # so we dont match any existing sentences, which would be bad.
+        self.fingerprints['Unknown'] = vector.Vector([],fast=use_fast_vector)
+        
+        # stem the list of words that define a license. This allows us to do a
+        # quick lookup to see if a sentence has a license keyword.
+        self.keywords = library.tokensFromAnalysis(' '.join(library.get_keywords()),self.analyzer)
+
+        # calculate leaders
+        all = range(self.length)
+        l = [all.pop(all.index(i)) for i in random.sample(all,int(math.sqrt(self.length)))]
+        self.leaders = [[i,[i]] for i in l]
+        for i in all:
+            m = 0.0
+            k = 0
+            for j in xrange(len(l)):
+                dot = self.vectors[l[j]].dot(self.vectors[i])
+                if dot>m:
+                    m = dot
+                    k = j
+            self.leaders[k][1].append(i)
+
+    # This method creates a copy of a database object.
+    def copy(self):
+        poop = Database([],None)
+        poop.length = self.length
+        poop.vectors = self.vectors[:]
+        poop.sentences = self.sentences[:]
+        poop._to_file = self._to_file[:]
+        poop._to_position = self._to_position[:]
+        poop.files = self.files[:]
+        poop.analyzer = self.analyzer
+        poop.fingerprints = self.fingerprints.copy()
+        poop.binary_lookup = self.binary_lookup.copy()
+        poop.keywords = self.keywords[:]
+        poop.leaders = self.leaders[:]
+
+        return poop
+
+    # used for pickling. NOTICE that the analyzer is not saved!!!
+    def __getstate__(self):
+        return (self.length, self.vectors[:], self.sentences[:], self._to_file[:], self._to_position[:], self.files[:], self.fingerprints.copy(), self.binary_lookup.copy(), self.keywords[:], self.leaders[:])
+
+    # used to unpickle a database object. analyzer is set to None!!!
+    def __setstate__(self, state):
+        self.length = state[0]
+        self.vectors = state[1][:]
+        self.sentences = state[2][:]
+        self._to_file = state[3][:]
+        self._to_position = state[4][:]
+        self.files = state[5][:]
+        self.fingerprints = state[6].copy()
+        self.binary_lookup = state[7].copy()
+        self.keywords = state[8][:]
+        self.leaders = state[9][:]
+
+# this function does all the work. A lot happeneds in here.
+def calculate_matches(db,filename,thresh = 0.9,debug = False):
+    # db is the database object.
+    # filename is filename of the target file.
+    # thresh is a threshold for matching sentences
+    # if debug is set to true then you get lots of text pooped to the screen
+
+    if debug:
+        tic = datetime.now()
+        print "Starting on %s ..." % (filename)
+    # determine if we have an xml/html file. If so remove tags
+    if library.determinefiletype(filename) == 'text/html':
+        text = library.htmltotext(open(filename).read())
+    else:
+        text = open(filename).read()
+
+    # split the file into sentneces
+    sentences = library.sentences(text)
+    
+    # matches is a list of dictionaries, one for each sentence.
+    matches = []
+    # lc_sent is a list of indicators. If the indicator is True then this has a
+    # license like word in it.
+    lc_sent = []
+
+    # a dictionary that holds all the unique template files we found matches in
+    unique_hits = {}
+
+    for j in xrange(len(sentences)):
+
+        text_array = library.tokensFromAnalysis(sentences[j],db.analyzer)
+        if len(text_array)<4 and j<len(sentences)-1:
+            sentences[j+1] = "%s %s" % (sentences[j],sentences[j+1])
+            sentences[j] = ''
+            text_array = []
+        matches.append({})
+        lc_sent.append(False)
+        if sum([(token in text_array) for token in db.keywords])>0:
+            lc_sent[-1] = True
+        v = vector.Vector(text_array,fast=use_fast_vector)
+        
+        # fast binary dot product. 
+        # un = list(set(text_array))
+        # b = {}
+        # for aa in xrange(len(un)):
+        #     a = un[aa]
+        #     for c in db.binary_lookup.get(a,[]):
+        #         b[c] = b.get(c,0.0) + 1.0
+        # for a in b.keys():
+        #     b[a] = b.get(a,0.0)/math.sqrt(len(un)*len(db.vectors[a].text_count.keys()))
+        # for index,value in library.sortdictionary(b):
+        #     if value<thresh:
+        #         break
+        #     matches[-1][db._to_file[index]] = (index,value)
+        #     unique_hits[db._to_file[index]] = unique_hits.get(db._to_file[index],0.0)+1.0
+        # normal dot product
+        # for i in b:
+        # for i in xrange(db.length):
+        #     dot = v.dot(db.vectors[i])
+        #     if dot>thresh:
+        #         matches[-1][db._to_file[i]] = (i,dot)
+        #         unique_hits[db._to_file[i]] = unique_hits.get(db._to_file[i],0.0)+1.0
+        
+        m = 0.0
+        k = 0
+        for i in xrange(len(db.leaders)):
+            l = db.leaders[i][0]
+            dot = v.dot(db.vectors[l])
+            if dot>m:
+                m = dot
+                k = i
+                
+        #for i in xrange(db.length):
+        for i in db.leaders[k][1]:
+            dot = v.dot(db.vectors[i])
+            if dot>thresh:
+                matches[-1][db._to_file[i]] = (i,dot)
+                unique_hits[db._to_file[i]] = unique_hits.get(db._to_file[i],0.0)+1.0
+
+    
+    # this is where we determine which templates are the best matches. For each
+    # template we want to know how many continuous sentences we matched.
+    cover = {}
+    for k in unique_hits.keys():
+        cover[k] = [0.0 for i in range(len(matches))]
+        for i in range(len(matches)):
+            if matches[i].get(k,False):
+                # use similarity to determine longest match instead of any
+                # matching sentence in the template
+                cover[k][i] = cover[k][i-1]+matches[i][k][1]+(0.000001*unique_hits.get(k,0.0))
+                # add one if we had a matching sentence
+                # cover[k][i] = cover[k][i-1]+1.0+(0.000001*unique_hits.get(k,0.0))
+
+
+    # determine the max continuous match for each sentence
+    maximum = [0.0 for i in range(len(matches))]
+    for i in range(len(matches)):
+        for k in unique_hits.keys():
+            maximum[i] = max([maximum[i],cover[k][i]])
+
+    # create a vector of matches sentences for each template.
+    fp = {}
+    for k in unique_hits.keys():
+        l = {}
+        for i in xrange(len(matches)):
+            if matches[i].get(k,False):
+                # use similarity in dot product
+                l[matches[i].get(k)[0]] = matches[i].get(k)[1]
+                # use a 1 for a binary dot product
+                #l[matches[i].get(k)[0]] = 1
+        fp[k] = vector.Vector(l,fast=use_fast_vector)
+
+    # hits is going to hold the template file that matched each sentence
+    hits = []
+    for i in xrange(len(matches)):
+        hits.append([])
+        if len(matches[i])==0:
+            # if we didn't find a match for the sentence then we should check
+            # to see if it matched any license keywords. If so then we should
+            # mark it as an Unknown license.
+            if lc_sent[i]:
+                matches[i]['Unknown'] = (-1, 1.0)
+                hits[i].append('Unknown')
+            continue
+        # choose the max match based on continuous sentences matched
+        for k in matches[i].keys():
+            if maximum[i] == cover[k][i]:
+                hits[i].append(k)
+        # to break ties we will take the dot product between the target vector
+        # and the template vector and use the largest.
+        m = {}
+        for j in xrange(len(hits[i])):
+            k = hits[i][j]
+            t = fp[k].dot(db.fingerprints[k])
+            m[t] = m.get(t,[])
+            m[t].append(k)
+
+        hits[i] = m[max(m)]
+
+    # Scoring is done here...
+    # hits holds a list of licenses that best matched a sentence. hits[i] is a
+    # list holding the best matches.
+    # db.fingerprints[k] is a vector that holds the sentences ids so we can
+    # compare the similarity of template and a license. k is the template name
+    # fp[k] is the vector that holds the sentence ids for license k that
+    # matched. To determine the similarity between the targets matched
+    # sentences againest a template you can do:
+    # fp[k].dot(db.fingerprints[k])
+    # unique_hits is a set of licenses that had sentences within __thresh__(0.7
+    # by default) similarity.
+
+    M = {}
+    N = {}
+    S = {}
+    C = {}
+    for i in xrange(len(hits)):
+        for j in xrange(len(hits[i])):
+            M[hits[i][j]] = M.get(hits[i][j],0.0) + 1.0
+            N[hits[i][j]] = float(len(db.fingerprints[hits[i][j]].text_array))
+            S[hits[i][j]] = S.get(hits[i][j],0.0) + matches[i][hits[i][j]][1]
+    N['Unknown'] = float(len(sentences))
+
+    score = {}
+
+    if debug:
+        print M
+        print N
+        print S
+
+    for k in M:
+        score[k] = (M[k]/N[k] * S[k]/M[k])
+
+    if debug:
+        print "Finished %s containing %s sentence in %s seconds." % (filename,len(sentences), datetime.now()-tic)
+    
+    return sentences,matches,unique_hits,cover,maximum,hits,score,fp
+
+def save(db,path):
+    # Pickles the database.
+
+    pickle.dump(db,open(path,'w'))
+
+def load(path,analyzer):
+    # Unpickles a database object. Must provide the same analyzer as the
+    # database was created with. This is a sticky point.
+
+    # TODO: remove dependency on lucene snowball analyzer.
+
+    db = pickle.load(open(path))
+    db.analyzer = analyzer
+    
+    return db

Added: trunk/project/adam/sentence_based_classification/default.xsl
===================================================================
--- trunk/project/adam/sentence_based_classification/default.xsl	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/default.xsl	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+		<script language="javascript" type="text/javascript">
+			<![CDATA[
+
+			function toggle(id) {
+				if (document.getElementById('H'+id).style.visibility == 'hidden') {
+					document.getElementById('H'+id).style.visibility = 'visible';
+			    		document.getElementById('H'+id).innerHTML = document.getElementById(id).innerHTML;
+				} else {
+					document.getElementById('H'+id).style.visibility = 'hidden';
+			     		document.getElementById('H'+id).innerHTML = '';
+				}
+			}
+
+			function openall(n) {
+			var N = parseInt(n);
+			for (var i = 0; i<N; i++) {
+					document.getElementById('HL_'+i.toString()).style.visibility = 'visible';
+					document.getElementById('HL_'+i.toString()).innerHTML = document.getElementById('L_'+i.toString()).innerHTML;
+				}
+			}
+
+			function closeall(n) {
+			var N = parseInt(n);
+			for (i = 0; i<N; i++){
+					document.getElementById('HL_'+i).style.visibility = 'hidden';
+					document.getElementById('HL_'+i).innerHTML = '';
+				}
+			}
+
+			function hilight(obj) {
+				obj.style.background = '#FFFFAA';
+			}
+
+			function unhilight(obj) {
+				obj.style.background = '#FFFFFF';
+			}
+
+			]]>
+		</script> 
+		<title>Report for file <xsl:value-of select="analysis/name"/></title>
+	</head>
+	<body>
+		<div style="background-color:black;color:white;padding:4px">
+			<span style="font-weight:bold;font-size:16pt">Report for file <xsl:value-of select="analysis/name"/></span>
+		</div>
+		<div style="color:black;padding:0px">
+			<span style="font-weight:100;font-size:6pt">&lt;<xsl:value-of select="analysis/path"/>&gt;</span>
+		</div>
+		<br/>
+		<div style="background-color:#CCCCCC;padding:4px">
+			<span style="font-weight:bold">Report Statistics:</span> <xsl:value-of select="count(analysis
+				/statistics/license)"/> license(s) found
+		</div>
+		<div style="padding:4px">
+			<xsl:for-each select="analysis/statistics/license">
+				<div style="padding:2px">
+					<xsl:if test="position() mod 2 = 1">
+						<xsl:attribute name="style">
+							<xsl:text>background-color:#EEEEEE</xsl:text>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="position() mod 2 = 0">
+						<xsl:attribute name="style">
+							<xsl:text>background-color:#DDDDDD</xsl:text>
+						</xsl:attribute>
+					</xsl:if>
+					<span style="font-weight:bold;font-size:9pt"><xsl:value-of select="name"/></span>
+					- <xsl:value-of select="rank"/>
+				</div>
+			</xsl:for-each>
+		</div>
+		<br/>
+		<div style="background-color:#CCCCCC;padding:4px">
+			<span style="font-weight:bold">Sentence breakdown</span>
+			<span style="width:500px">:</span>
+			<span style="font-weight:100;font-size:6pt">[ </span>
+			<span style="font-weight:100;font-size:6pt">
+				<xsl:attribute name="onclick">
+					openall('<xsl:value-of select="count(analysis/breakdown/sentence)"/>')
+				</xsl:attribute>
+				openall
+			</span>
+			<span style="font-weight:100;font-size:6pt"> | </span>
+			<span style="font-weight:100;font-size:6pt">
+				<xsl:attribute name="onclick">
+					closeall(<xsl:value-of select="count(analysis/breakdown/sentence)"/>)
+				</xsl:attribute>
+				closeall
+			</span>
+			<span style="font-weight:100;font-size:6pt"> ]</span>
+		</div>
+		<div>
+			<xsl:for-each select="analysis/breakdown/sentence">
+				<div>
+					<xsl:if test="position() mod 2 = 1">
+						<xsl:attribute name="style">
+							<xsl:text>background-color:#EEEEEE</xsl:text>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:if test="position() mod 2 = 0">
+						<xsl:attribute name="style">
+							<xsl:text>background-color:#DDDDDD</xsl:text>
+						</xsl:attribute>
+					</xsl:if>
+					<xsl:attribute name="onclick">
+						toggle('L_<xsl:value-of select="position"/>')
+					</xsl:attribute>
+					<xsl:value-of select="text"/>
+					<div style="visibility:hidden;position:fixed;">
+						<xsl:attribute name="id">L_<xsl:value-of select="position"/></xsl:attribute>
+						<xsl:attribute name="onclick">
+							toggle('L_<xsl:value-of select="position"/>')
+						</xsl:attribute>
+						<xsl:for-each select="matches/license">
+							<div style="background-color:#FFEEEE">
+								<u><xsl:value-of select="name"/> ( <xsl:value-of select="rank"/> )</u>
+							</div>
+							<div style="background-color:#EEFFEE">
+								<xsl:value-of select="text"/>
+							</div>
+						</xsl:for-each>
+					</div>
+					<div style="visibility:hidden;padding:4px;background-color:black;">
+						<xsl:attribute name="id">HL_<xsl:value-of select="position"/></xsl:attribute>
+					</div>
+				</div>
+				<hr/>
+			</xsl:for-each>
+		</div>
+	</body>
+</html>

Added: trunk/project/adam/sentence_based_classification/f1.py
===================================================================
--- trunk/project/adam/sentence_based_classification/f1.py	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/f1.py	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,170 @@
+#!/usr/bin/python
+
+import psyco
+psyco.full()
+
+import sys, os, time, lucene, library
+import cPickle
+from datetime import datetime
+import re
+import vector, database
+from xml.sax.saxutils import escape
+import htmlentitydefs
+import traceback
+from optparse import OptionParser
+
+# fix funky characters so we can print our data into a nice xml formatted
+# document
+def htmlentities(u):
+    result = []
+    for c in u:
+        if ord(c) < 128:
+		if ord(c) > 31:
+            		result.append(c)
+        else:
+            result.append('&%s;' % htmlentitydefs.codepoint2name[ord(c)])
+    return ''.join(result)
+
+# converts crazy unicode stuff before converting funky characters
+def escape2(str):
+	s = str.encode('ascii','ignore')
+	s2 = escape(s)
+	s3 = htmlentities(s2)
+	return s3
+
+
+
+def main ():
+    # Create a help message so Bob doesn't send me 50 emails asking how to use
+    # this script.
+
+    usage = "usage: %prog [options] -D database -T template_file -o output_dir -f test_files"
+    parser = OptionParser(usage)
+    parser.add_option("-D", "--database", type="string",
+            help="If the -T flag is spesified then a database cache file will be saved at the location specified. Otherwise, loads a pre-cached database model")
+    parser.add_option("-T", "--templates", type="string",
+            help="Path to a \\n delimetated file with paths to license template files")
+    parser.add_option("-o", "--output", type="string",
+            help="Output directory")
+    parser.add_option("-f", "--files", type="string",
+            help="Path to a \\n delimetated file with paths to test files")
+    parser.add_option("-d", "--debug", action="store_true",
+            help="Turn debug output on")
+
+    (options, args) = parser.parse_args()
+
+    # Start the JVM so lucene doesn't crash:(
+    lucene.initVM(lucene.CLASSPATH)
+
+    # this stems and splits our files for us:)
+    analyzer = lucene.SnowballAnalyzer("English",lucene.StopAnalyzer.ENGLISH_STOP_WORDS)
+
+    debug_on = False
+    if options.debug:
+        debug_on = True
+
+    if not options.output and options.files:
+        print >> sys.stderr, 'Output directory not provided.'
+        parser.print_usage()
+        sys.exit(1)
+
+    if options.output and not os.path.isdir(options.output):
+        print >> sys.stderr, 'Output directory does not exist.'
+        parser.print_usage()
+        sys.exit(1)
+
+    if options.database and options.templates:
+        print 'Creating Database...'
+        tic = datetime.now()
+        files = [line.rstrip() for line in open(options.templates)]
+        DB = database.Database(files,analyzer,debug=debug_on)
+        database.save(DB,options.database)
+        toc = datetime.now()-tic
+        print 'Database created in %s seconds.' % toc
+    elif options.database:
+        print 'Loading Database...'
+        tic = datetime.now()
+        DB = database.load(options.database,analyzer)
+        toc = datetime.now()-tic
+        print 'Loaded Database in %s seconds.' % toc
+    else:
+        print >> sys.stderr, 'Templates or database files not specified.'
+        parser.print_usage()
+        sys.exit(1)
+    
+    if not options.files:
+        return
+
+    links = ''
+    
+    argv = [line.rstrip() for line in open(options.files)]
+    argv.sort()
+    
+    start = datetime.now()
+    
+    for i in xrange(len(argv)):
+        try:
+            f = argv[i]
+            name = os.path.basename(f)
+    
+            print 'Processing %s...' % name
+    
+            # BOBG: this is where you should start
+            # this is where everything happends.
+            # look in database.py for more code...
+            sentences,matches,unique_hits,cover,maximum,hits,score,fp = database.calculate_matches(DB,f,debug=debug_on,thresh=0.7)
+            
+            # create and xml file for the output
+            links += '<a href=\"%s.xml\">%s</a>\n<br>\n' % (i,name)
+            xml = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n'
+            xml += '<?xml-stylesheet type=\"text/xsl\" href=\"default.xsl\"?>\n'
+            xml += '<analysis>\n'
+            xml += '<name>%s</name>\n' % escape2(name)
+            xml += '<path>%s</path>\n' % escape2(f)
+            xml += '<statistics>\n'
+            links += '<span style="font-size:6pt">\n'
+            for lic,scr in library.sortdictionary(score):
+                xml += '<license>\n<name>%s</name>\n<rank>%2.1f</rank>\n</license>\n' % (escape2(lic),(scr*100.0))
+                links += ' &nbsp;&nbsp; | &nbsp;&nbsp; %s (%2.1f%%) \n<br>\n' % (escape2(lic),(scr*100.0))
+            links += '</span>\n'
+            xml += '</statistics>\n'
+            xml += '<breakdown>\n'
+            for j in xrange(len(sentences)):
+                s = sentences[j]
+                xml += '<sentence>\n'
+                xml += '<position>%s</position>\n' % (j)
+                xml += '<text>%s</text>\n' % escape2(s)
+                xml += '<matches>\n'
+                for k in hits[j]:
+                    xml += '<license>\n'
+                    xml += '<rank>%1.2f</rank>\n' % (matches[j][k][1])
+                    xml += '<name>%s</name>\n' % escape2(k)
+                    if k=='Unknown':
+                        xml += '<position>%s</position>\n' % (0)
+                        xml += '<text>%s</text>\n' % escape2('Text not found in corpus.')
+                    else:
+                        xml += '<position>%s</position>\n' % (DB._to_position[matches[j][k][0]])
+                        xml += '<text>%s</text>\n' % escape2(DB.sentences[matches[j][k][0]])
+                    xml += '</license>\n'
+                xml += '</matches>\n'
+                xml += '</sentence>\n'
+            xml += '</breakdown>\n'
+            xml += '</analysis>\n'
+            open('%s/%s.xml' % (options.output,i),'w').write(xml)
+        except Exception, e:
+            exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()
+            p = repr(traceback.format_exception(exceptionType, exceptionValue, exceptionTraceback))
+            print p
+    
+    index = '<html><head><title>Report Index</title></head><body>%s</body></html>' %links
+    
+    open('%s/index.html' % (options.output), 'w').write(index)
+    open('%s/default.xsl' % (options.output), 'w').write(open('default.xsl').read())
+    
+    end = datetime.now()
+    print "Finished: ", end-start
+
+
+if __name__ == "__main__":
+    main()
+


Property changes on: trunk/project/adam/sentence_based_classification/f1.py
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/project/adam/sentence_based_classification/library.py
===================================================================
--- trunk/project/adam/sentence_based_classification/library.py	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/library.py	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,155 @@
+#!/usr/bin/python
+
+##
+## library.py
+## 
+## Copyright (C) 2007 Hewlett-Packard Development Company, L.P.
+## 
+## This program is free software; you can redistribute it and/or
+## modify it under the terms of the GNU General Public License
+## version 2 as published by the Free Software Foundation.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License along
+## with this program; if not, write to the Free Software Foundation, Inc.,
+## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+##
+
+import re
+import math
+from operator import itemgetter
+import difflib
+import os
+import lucene
+import htmllib
+import formatter
+import cStringIO
+import cPickle
+import opennlp
+#import maxentpy.postagger
+from maxent import MaxentModel
+
+def POSTagger(sentences):
+    model = './postagger/tagger.model'
+    tag_dict = cPickle.load(open(model + '.tagdict'))
+    me = MaxentModel()
+    me.load(model)
+    tagger = maxentpy.postagger.PosTagger(me, tag_dict, None)
+    tags = []
+    words = []
+    for i in xrange(len(sentences)):
+        word = sentences[i].split()
+        tag = tagger.tag_sentence(word, 5)
+        tags.append(tag)
+        words.append(word)
+    return words,tags
+
+def determinefiletype(filename):
+    return os.popen('file --mime-type \"%s\"' % filename,'r').read().strip('\n')
+
+def htmltotext(html):
+    html = re.sub('\<\!--','',html)
+    html = re.sub('--\>','',html)
+    f = cStringIO.StringIO()
+    z = formatter.AbstractFormatter(formatter.DumbWriter(f))
+    p = htmllib.HTMLParser(z)
+    try:
+        p.feed((html))
+    except:
+        return html
+    p.close()
+    sret = f.getvalue()
+    sret = re.sub('\[[0-9]+\]','',sret)
+    f.close()
+    return sret
+
+def sortdictionary(a,reverse=True):
+    b = sorted(a.iteritems(), key=itemgetter(1), reverse=reverse)
+    return b
+
+def argmax(obj,pair=False):
+    value = 0.0
+    index = 0
+    if type(obj)==type({}):
+        keys = obj.keys()
+        value = obj[keys[0]]
+        index = keys[0]
+        for i in xrange(len(keys)):
+            if value<obj[keys[i]]:
+                value = obj[keys[i]]
+                index = keys[i]
+    elif type(obj) == type([]):
+        value = obj[0]
+        index = 0
+        for i in range(len(obj)):
+            if value<obj[i]:
+                value = obj[i]
+                index = i
+    if pair:
+        return index,value
+    else:
+        return index
+
+def argmin(obj,pair=False):
+    value = 0.0
+    index = 0
+    if type(obj)==type({}):
+        keys = obj.keys()
+        value = obj[keys[0]]
+        index = keys[0]
+        for i in xrange(len(keys)):
+            if value>obj[keys[i]]:
+                value = obj[keys[i]]
+                index = keys[i]
+    elif type(obj) == type([]):
+        value = obj[0]
+        index = 0
+        for i in range(len(obj)):
+            if value>obj[i]:
+                value = obj[i]
+                index = i
+    if pair:
+        return index,value
+    else:
+        return index
+
+def get_keywords():
+    # keywords list {{{
+    keywords = ['license','copyright','rights','reserved','source','rights','redistributed','reproduction','distribution','agreement','distributed','contributor','contributors','contributions','licensed','patent','patents','patented','licensable','infringed','infringe','contribution','terms','conditions','warranties','warranty','merchantability','licensees','liability','obligations','restrictions','author','authors','licensee','restricted','limitation','modified','derivative','copyrighted','legal','licensor','licenses','government','arbitration','advertising','endorse','promote','redistributions','redistribution','distribute','commercial','modifications','derived','attribution','definitions','modification','trademarks','trademark','trademarked','distinguishing','nuclear','governing','law','laws','licensors','copyleft','compliance','unenforceable','distributor','licensing','verbatim','redistribute','unmodified','provisions','misrepresented','herewith','hereunder','freedom','cooperation','sublicensing','noncommercially','distributions','infringements','contributing','nonexclusive','notice','distributing','fee',]
+    # }}}
+    return keywords
+
+def sentences(document):
+    t = document.decode('ascii','ignore').encode('ascii','ignore')
+    t = re.sub('\r',' ',t)
+    t = re.sub('\n',' (SLASH_RETURN) ',t)
+    t = re.sub(r' (SLASH_RETURN) (?P<white>\W*) (SLASH_RETURN) ',' (SLASH_RETURN) \g<white> (SLASH_RETURN) (ADDED_THIS). ',t)
+
+    a = opennlp.SentenceDetector(t)
+
+    b = []
+
+    # Fix, append small sentences to next sentence.
+    for i in xrange(len(a)):
+        #for aa in a:
+        aa = a[i]
+        aa = re.sub(r'\(ADDED_THIS\). ','',aa)
+        aa = re.sub(r' *\(SLASH_RETURN\) *','\n',aa)
+        if len(aa)==0:
+            continue
+        if len(b)>0 and len(re.split('\ ',b[-1]))<3:
+            b[-1] = b[-1]+' '+aa
+        else:
+            b.append(aa)
+
+    return b
+
+def tokensFromAnalysis(text,a=None):
+    if not a:
+        a = lucene.StandardAnalyzer()
+    b = [token.termText().encode('ascii','ignore') for token in a.tokenStream("contents", lucene.StringReader(text))]
+    return [t for t in b if len(t)>0]

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/ASL
===================================================================
--- trunk/project/adam/sentence_based_classification/opennlp/lib/ASL	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/opennlp/lib/ASL	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,60 @@
+This product includes Xerces software developed by the Apache Software
+Foundation (http://www.apache.org/).  It is redistributed in accordance with
+the license below.  For more information, see http://xml.apache.org.
+
+/*
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 1999 The Apache Software Foundation.  All rights 
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:  
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Xerces" and "Apache Software Foundation" must
+ *    not be used to endorse or promote products derived from this
+ *    software without prior written permission. For written 
+ *    permission, please contact apache at apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ *    nor may "Apache" appear in their name, without prior written
+ *    permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.ibm.com.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/JWNL
===================================================================
--- trunk/project/adam/sentence_based_classification/opennlp/lib/JWNL	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/opennlp/lib/JWNL	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,22 @@
+License Information
+
+Copyright (C) 2000-2003  the JWNL development team (http://www.sourceforge.net/projects/jwordnet)
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided
+that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this list of conditions and the
+following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+the following disclaimer in the documentation and/or other materials provided with the distribution.
+* Neither the name of the product ("JWNL") nor the names of its contributors may be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/LIBNOTES
===================================================================
--- trunk/project/adam/sentence_based_classification/opennlp/lib/LIBNOTES	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/opennlp/lib/LIBNOTES	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,43 @@
+This file briefly describes some of the libraries which are used by
+OpenNLP and their liciences.  For non-LGPL libraries the licience 
+associated with these libraries can be found in the referenced
+licience file.
+------------------------------------------------------------------------
+ant.jar 
+
+The Jakarta Ant Build System, version 1.5
+Homepage: http://jakarta.apache.org/ant/
+License: Apache Software License (ASL)
+
+A Java based build tool. It is supported by xml-apis and license
+information for that is included in this directory.
+
+------------------------------------------------------------------------
+jwnl-1.3.3.jar
+
+Java WordNet Library 1.3.3 
+Homepage: http://jwordnet.sourceforge.net/
+Licience: BSD License (JWNL)
+
+Provides a Java API to the WordNet database.
+
+------------------------------------------------------------------------
+maxent-2.3.0.jar
+
+Maxent, version 2.3.0 
+Homepage: http://maxent.sourceforge.net/
+Licience: LGPL
+
+Package for training and using maximum entropy models. 
+
+
+------------------------------------------------------------------------
+trove.jar
+
+GNU Trove, version 1.0.2
+Homepage: http://trove4j.sf.net
+License: LGPL
+
+High performance collections for Java.
+
+------------------------------------------------------------------------

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/ant.jar
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/lib/ant.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/jakarta-ant-optional.jar
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/lib/jakarta-ant-optional.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/jwnl-1.3.3.jar
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/lib/jwnl-1.3.3.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/maxent-2.4.0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/lib/maxent-2.4.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/opennlp-tools-1.3.0.jar
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/lib/opennlp-tools-1.3.0.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/lib/trove.jar
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/lib/trove.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/EnglishSD.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/EnglishSD.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/EnglishTok.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/EnglishTok.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/date.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/date.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/location.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/location.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/money.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/money.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/organization.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/organization.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/percentage.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/percentage.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/person.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/person.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/time.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/namefind/time.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/build.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/parser/build.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/check.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/parser/check.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/chunk.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/parser/chunk.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/dict.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/parser/dict.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/head_rules
===================================================================
--- trunk/project/adam/sentence_based_classification/opennlp/models/parser/head_rules	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/opennlp/models/parser/head_rules	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,24 @@
+20 ADJP 0 NNS QP NN $ ADVP JJ VBN VBG ADJP JJR NP JJS DT FW RBR RBS SBAR RB
+15 ADVP 1 RB RBR RBS FW ADVP TO CD JJR JJ IN NP JJS NN
+5 CONJP 1 CC RB IN
+2 FRAG 1 
+2 INTJ 0 
+4 LST 1 LS :
+19 NAC 0 NN NNS NNP NNPS NP NAC EX $ CD QP PRP VBG JJ JJS JJR ADJP FW
+8 PP 1 IN TO VBG VBN RP FW
+2 PRN 1 
+3 PRT 1 RP
+14 QP 0 $ IN NNS NN JJ RB DT CD NCD QP JJR JJS
+7 RRC 1 VP NP ADVP ADJP PP
+10 S 0 TO IN VP S SBAR ADJP UCP NP
+13 SBAR 0 WHNP WHPP WHADVP WHADJP IN DT S SQ SINV SBAR FRAG
+7 SBARQ 0 SQ S SINV SBARQ FRAG
+12 SINV 0 VBZ VBD VBP VB MD VP S SINV ADJP NP
+9 SQ 0 VBZ VBD VBP VB MD VP SQ
+2 UCP 1 
+15 VP 1 TO VBD VBN MD VBZ VB VBG VBP VP ADJP NN NNS NP
+6 WHADJP 0 CC WRB JJ ADJP
+4 WHADVP 1 CC WRB
+8 WHNP 0 WDT WP WP$ WHADJP WHPP WHNP
+5 WHPP 1 IN TO FW
+2 X 1

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/tag.bin.gz
===================================================================
(Binary files differ)


Property changes on: trunk/project/adam/sentence_based_classification/opennlp/models/parser/tag.bin.gz
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: trunk/project/adam/sentence_based_classification/opennlp/models/parser/tagdict
===================================================================
--- trunk/project/adam/sentence_based_classification/opennlp/models/parser/tagdict	                        (rev 0)
+++ trunk/project/adam/sentence_based_classification/opennlp/models/parser/tagdict	2009-03-06 00:29:06 UTC (rev 1856)
@@ -0,0 +1,16204 @@
+combining VBG
+Station NNP
+refer VBP VB
+Pan NNP
+herself PRP
+500 CD
+advances NNS
+body NN
+winning JJ VBG NN
+380 CD
+escaped VBD VBN
+administrator NN
+advancing VBG
+regret VBP NN VB
+client NN
+suspended JJ VBD VBN
+Democratic JJ NNP
+option NN
+price VBP NN VB
+indefinitely RB
+Either CC DT NNP
+lies VBZ NNS
+contain VBP VB
+residence NN
+Glory NN NNP
+Foundation NNP
+advanced JJ VBD VBN
+Timothy NNP
+hopeful JJ NN
+string NN
+unless IN
+Dick NNP
+5.2 CD
+marketers NNS
+Acala NNP
+Commodore NNP
+amounts VBZ NNS
+removing VBG
+Angie NNP
+one-man JJ
+fifteen CD
+incompetence NN
+Oliver NNP
+animals NNS
+society NN
+Fremont NNP
+bribe NN VB
+pollution NN
+pro JJ NN FW
+kill NN VBP VB
+Armed VBN NNP
+tainted JJ VBN
+graduates VBZ NNS
+against IN
+rout NN
+resentment NN
+passengers NNS
+maturities NNS
+shake VBP NN VB
+Singapore NNP
+Aga NNP
+Blinder NNP
+confessed VBD VBN
+Industries NNPS NNS NNP
+Schwarz NNP
+1.71 CD
+duties NNS
+Carla NNP
+comprehensive JJ
+GAF NNP
+expire VBP VB
+stronger RBR JJR
+breach NN VB
+hierarchy NN
+Munich NNP
+Negroes NNPS NNS
+wage NN VB
+After RB IN
+Developers NNS NNP
+phased VBD VBN
+manipulate VBP VB
+Fashion NN NNP
+cliche NN
+IN IN
+fearful JJ
+jazz NN
+bolted VBD VBN
+gained VBD VBN
+hatch NN
+Dun NNP
+conceptual JJ
+couch NN
+dunes NNS
+gradual JJ RB
+peddling JJ VBG NN
+debts NNS
+vicious JJ
+accelerating JJ VBG
+ends VBZ NNS
+backlash NN
+game NN
+intervention NN
+Mancuso NN NNP
+dog NN
+bivouac NN
+Task NNP
+Haven NNP
+1974 CD
+staffs NNS
+already RB
+Cheney NNP
+tragedy NN
+Wang NNP
+Insurance NN NNP
+Which WDT
+Bundesbank NNP
+Network NNP
+afforded VBD VBN
+opted VBD VBN
+educational JJ
+painful JJ
+ugly JJ
+weekly JJ RB NN
+assistance NN
+murders NNS
+recourse NN
+Fla. NNP
+about RB RBR RP IN
+absolutely RB
+Allan NNP
+adjust VBP VB
+Colombia NNP
+suitable JJ
+4.7 CD
+claimed VBD VBN
+CS NNP
+Workers NNPS NNS NNP
+rollers NNS
+data NN NNS
+raped VBD VBN
+Beech NNP
+Shaefer NNP
+marine JJ NN
+wrote VBD
+mass JJ RB NN
+registering VBG
+priceless JJ
+wounded JJ VBN
+retaliation NN
+new-issue JJ
+inflated JJ VBD VBN
+extend VBP VB
+manipulation NN
+branch NN VB
+13.6 CD
+restrained JJ VBD VBN
+Benton NNP
+gubernatorial JJ
+adjusted JJ VBD VBN
+site NN
+fully RB
+extensions NNS
+prohibits VBZ
+joins VBZ
+Cunningham NNP
+Princeton NNP
+winners NNS
+Detrex NNP
+maneuver NN VB
+6.6 CD
+perceptions NNS
+shattering JJ VBG
+merge VBP VB
+sensational JJ
+deficiencies NNS
+blessing VBG NN
+silly JJ RB NN
+nephew NN
+Social JJ NNP
+constitute VBP VB
+lagged VBD VBN
+H&R NNP
+Athletics NNP
+Griffith NNP
+Turning VBG NNP
+chorus NN
+excitement NN
+elders NNS
+test VBP NN VB
+uneven JJ
+lack NN VBP VB
+Hotel NN NNP
+CD NN NNP
+Earnings NNS
+K. NNP
+proceeding VBG NN
+its PRP$
+emerging VBG
+lobbyists NNS
+descended VBD VBN
+launch NN VB
+toast NN
+total JJ VBP NN VB
+Valentine NN NNP
+cheerfully RB
+cares VBZ NNS
+bidding JJ VBG NN
+allegations NNS
+multibillion-dollar JJ
+bark NN VB
+opens VBZ
+retailer NN
+risk VBP NN VB
+ruthless JJ
+death NN
+tailored JJ VBN
+recession NN
+recommending VBG
+pioneer NN
+acted VBD VBN
+questionable JJ
+Wisman NNP
+wide-ranging JJ
+layoffs NNS
+swam VBD
+walk NN VBP VB
+centers VBZ NNS
+Lone JJ NNP
+Daikin NNP
+crumble VB
+advantages NNS
+possessions NNS
+personnel JJ NN NNS
+blades NNS
+solving VBG
+bucket NN
+Pitney NNP
+All RB PDT DT NNP
+parties VBZ NNS
+normalcy NN
+stacked VBD VBN
+Any DT
+troubles NNS
+orders NNS
+vans NNS
+careful JJ
+Academy NNP
+lights VBZ NNS
+Petco NNP
+proposition NN
+resemble VBP VB
+Among IN
+detective NN
+B'dikkat NNP
+Montagu NNP
+Corporate JJ NNP
+12.9 CD
+PSE NNP
+soup NN
+economics NN NNS
+Colo. NNP
+proposing VBG
+Rand NNP
+Quebec NNP
+wondering VBG
+wounds NNS
+Consolidated NNP
+Lexington NN NNP
+Dole NNP
+stunned JJ VBD VBN
+measurements NNS
+floated VBD VBN
+bastard NN
+protested VBD VBN
+As RB IN
+Sante NNP
+highways NNS
+Mass NN NNP
+doubling VBG NN
+research NN VB
+memo NN
+areas NNS
+Going VBG
+turmoil NN
+copyright JJ NN
+projecting VBG
+added JJ VBD VBN
+kidding VBG
+ax NN
+optimistic JJ
+chapters NNS
+artificial JJ NN
+difference NN
+Florence NNP
+Navy NN NNP
+scenes NNS
+dinners NNS
+thinks VBZ
+shaping VBG
+wooden JJ
+Unable JJ
+unwilling JJ
+7.88 CD
+viable JJ
+elevated JJ VBD VBN
+slow JJ RB VB
+dangerous JJ
+exploration NN
+device NN
+Lang NNP
+Berlitz NNP
+Resource NNP
+surveyed VBD VBN
+higher RB RBR JJR
+Edythe NNP
+sounded VBD VBN
+supervisors NNS
+cancel VB
+weird JJ NN
+naval JJ
+Chandler NNP
+Apogee NNP
+lining VBG NN
+Well RB UH NNP
+costume JJ NN
+Henderson NNP
+toll NN
+receiver NN
+USA NNP
+ai VBP VBZ
+representatives NNS
+comments VBZ NNS
+Aeroflot JJ NNP
+vivid JJ
+guard JJ VBP NN VB
+Rorer NNP
+inquiry NN
+LOAN NNP
+cartridge NN
+withdrawal NN
+ignorant JJ
+Benefit VB NNP
+sustained JJ VBD VBN
+Walitzee NNP
+Publishers NNPS NNS NNP
+restricts VBZ
+wore VBD
+survey VBP NN VB
+tastes VBZ NNS
+Lion NNP
+Goodyear VBP NNP
+smooth JJ VB
+pursuing VBG NN
+penalties NNS
+agents NNS
+powder NN
+dates VBZ NNS
+loath JJ
+citizens NNS
+Jaguar NN NNP
+barbed JJ
+drawer NN
+PAPER NN NNS NNP
+stubbornly RB
+inventory NN
+armed JJ VBN
+parks NNS
+D'Arcy NNP
+Wilbur NNP
+Broadway NNP
+VAX NNP
+significance NN
+8.04 CD
+capture NN VB
+linen JJ NN
+supplier NN
+held JJ VBD VBN
+fantastic JJ
+billion-dollar JJ
+Gorboduc NNP
+sketch NN VB
+polish NN VB
+Da NNP
+fair JJ RB NN
+pieces NNS
+experimentation NN
+streetcar NN
+blending VBG NN
+reputation NN
+Lieutenant NN NNP
+claims VBZ NNS
+sights NNS
+Long-term JJ
+Pentagon NNP
+Fuji NNS NNP
+profession NN
+Hathaway NNP
+popular JJ
+Quarter NN NNP
+reinforcement NN
+hung JJ VBD VBN
+Fraser NNP
+G-7 NN NNP
+bathed VBN
+advancers NNS
+paint VBP NN VB
+transformed VBD VBN
+cough NN VB
+prospectus NN
+23.5 CD
+historian NN
+first-half JJ NN
+unit NN
+realism NN
+stressing VBG
+vaccine NN
+four-game JJ
+potential JJ NN
+anticipates VBZ
+Seagate NNP
+Regulatory NNP
+odds NNS
+choice JJ NN
+Avery NNP
+carpeting NN
+spot JJ VBP NN VB
+confirms VBZ
+lifts VBZ NNS
+likelihood NN
+recounts VBZ
+Oct. NN NNP
+115 CD
+Mission NNP
+attorneys NNS
+Mobile NNP
+hall NN
+countless JJ
+Fred NNP
+upheld VBD VBN
+nations NNS
+lighter RBR JJR NN
+outraged JJ VBD VBN
+predictions NNS
+conviction NN
+thinking VBG NN
+Comsat NNP
+confesses VBZ
+taxpayer NN
+graduate JJ NN
+conditional JJ
+Voltaire NNP
+resting VBG
+denounced VBD VBN
+moons NNS
+hid VBD VBN
+cream NN
+surveys VBZ NNS
+exposed JJ VBD VBN
+barge VBP NN
+channels NNS
+lineup NN
+Ruder NNP
+Norwood NNP
+Before RB IN
+aggressive JJ
+imaginary JJ NN
+causes VBZ NNS
+index NN
+Foods NNPS NNP
+Ad NN NNP
+tax-loss JJ NN
+his PRP$ PRP
+busily RB
+planet NN
+Indeed UH RB
+Rate NN NNP
+spray NN VB
+Roman JJ NNPS NNP
+Quinlan NNP
+structure NN VB
+Voyager NNP
+mistaken JJ VBN
+emphasis NN
+Aunt NN NNP
+cyclical JJ
+hearts NNS
+employees VBZ NNS
+Demand NN
+Backer NNP
+assert VBP VB
+Hibor NNP
+Golf NNP
+chiefly RB
+Futures NNPS NNS NNP
+bargaining NN
+possible JJ RB
+galvanized JJ VBD
+Journal NN NNP
+upbeat JJ NN
+dock NN
+insight NN
+centuries NNS
+coldly RB
+menace NN
+scholar NN
+shuddered VBD
+instinct NN
+treasures NNS
+wasting JJ VBG NN
+dried JJ VBD VBN
+Hart NNP
+drank VBD
+stale JJ
+LYNCH NNP
+formed JJ VBD VBN
+robbed VBD VBN
+portion NN
+Barre NNP
+grow VBP VB
+surveillance NN
+realty NN
+transform VB
+Founders NNPS NNS NNP
+prevention NN
+ridge NN
+afford VBP VB
+plight NN
+Microsystems NNPS NNP
+future JJ NN
+recoup VB
+Beaver NNP
+accompanied VBD VBN
+H.F. NNP
+subsidiary JJ NN
+trains VBZ NNS
+aunt NN
+arises VBZ
+41 CD
+Phoenix NNP
+spontaneous JJ
+Certainly RB
+removal NN
+myself PRP
+shortage NN
+Anyone NN
+photographic JJ
+marriages NNS
+Game NN NNP
+Petroleum NN NNP
+professional JJ NN
+without IN
+suffer VBP VB
+nature NN
+preserving VBG
+smiled VBD VBN
+Inc. NN NNP
+perceive VBP VB
+filing VBG NN
+plane NN
+Sandra NNP
+108 CD
+painter NN
+Dogtown NNP
+denied VBD VBN
+rift NN
+1.10 CD
+twirling VBG
+cat NN
+leg NN
+assistant JJ NN
+appreciated VBD VBN
+commit JJ VBP VB
+linking VBG
+reputable JJ
+officer NN
+invested VBD VBN
+arbitragers NNS
+Should MD NNP
+33 CD
+rescind VB
+one-time JJ
+arrived VBD VBN
+secrecy NN
+Concerto NNP
+Republic NN NNP
+Ambrosiano NNP
+guaranteeing VBG NN
+Hells NNP
+glasnost NN FW
+submitting VBG NN
+Sons NNPS NNP
+richest JJS
+classes NNS
+condemn VBP VB
+overcast JJ NN
+permanent JJ
+develops VBZ
+Allied-Signal NNP
+louder JJR RBR
+agree VBP VB
+dealerships NNS
+deemed VBD VBN
+caught VBD VBN
+Plaza NNP
+Technologies NNPS NNP
+symptoms NNS
+card NN
+Paribas NNP
+weaker JJR
+countries NNS
+bracing VBG
+collects VBZ
+Son NN NNP
+headlights NNS
+Ferguson NNP
+reopen VB
+Fran NNP
+coffee NN
+keeping VBG
+literature NN
+Cup NNP
+contrast NN VB
+nursing VBG NN
+someone NN
+Productions NNPS NNP
+spread JJ VBD VBN VBP NN VB
+joined VBD VBN
+14.3 CD
+Cineplex NNP
+Indianapolis NNS NNP
+Portfolio NN NNP
+quietly RB
+commands VBZ NNS
+protesting VBG
+towards IN
+Mose NNP
+plumbing NN
+Nikko NNP
+issuer NN
+Esselte NNP
+resorts VBZ NNS
+solely RB
+Peltz NNP
+consultants NNS
+pregnant JJ
+Loan NN NNP
+capabilities NNS
+splendid JJ
+shrink VB
+surrender NN VB
+advisers NNS
+FERC NNP
+actors NNS
+York NNP
+massive JJ
+Stubblefield NNP
+disgusted JJ VBN
+CALL JJ NN NNP
+high-profile JJ
+London JJ NNP
+declares VBZ
+reset JJ NN VB
+et CC VBD FW NNP
+350 CD
+outfit NN VB
+depressing JJ VBG
+negotiation NN
+columnist NN
+messages NNS
+Skolman NNP
+broaden VB
+1.85 CD
+hostages NNS
+Bros NNPS NNP
+Similarly RB
+Patel NNP
+near JJ RB VB IN
+Three CD NNP
+characteristic JJ NN
+Texas JJ NNP
+Angeles NNP
+beach NN
+Nevertheless RB
+neon NN
+judged VBD VBN
+cottage NN
+Got VBD VBN NNP
+confrontation NN
+New JJ NNPS NNP
+begun VBN
+3.2 CD
+educate VB
+thumbs VBZ NNS
+withdrew VBD
+authorized JJ VBD VBN
+Carol NNP
+Cherokee NNP
+tribunal NN
+kinds NNS
+sentenced VBD VBN
+Jerry NNP
+vintage JJ NN
+. .
+bull NN
+crashed VBD VBN
+Geronimo NNP
+Miriam NNP
+Kansas NNP
+earns VBZ
+divan NN
+clean JJ VB
+touting VBG
+questioning JJ VBG NN
+Enterprise NNPS NN NNP
+scholarship NN
+appreciation NN
+movement NN
+ridges NNS
+throttle NN
+purpose NN
+preferential JJ
+1991 CD
+fad NN
+allocation NN
+decreased VBD VBN
+technologies NNS
+reviewing VBG
+trousers NNS
+destination NN
+airplanes VBZ NNS
+budding JJ VBG
+Philip NNP
+Montreal NNP
+melancholy JJ NN
+victim NN
+24 CD
+bet VBD VBN RB NN VBP VB
+crossroads NNS
+hospital NN
+0.60 CD
+dead JJ VBN RB NN
+Wolfe NNP
+slate JJ NN
+fetch VBP VB
+Mansion NNP
+softened JJ VBD VBN
+nonetheless RB
+departing VBG
+anniversary NN
+suffered VBD VBN
+Cancer NN NNP
+incredible JJ
+serene JJ
+sheriff NN
+devised VBD VBN
+prevailed VBD VBN
+blonde JJ NN
+economist NN
+lengthy JJ
+Carson NNP
+ghastly JJ
+knocking VBG NN
+submit VBP VB
+restrain VB
+wires NNS
+Independence NNP
+Brody NNP
+Montana NNP
+profoundly RB
+salami NN NNS
+lips NNS
+exercised JJ VBD VBN
+Cairo NN NNP
+Sasser NNP
+industrywide JJ RB
+mapping VBG NN
+charm NN
+housed VBD VBN
+contentious JJ
+News NN NNS NNP
+YOU PRP
+Information NN NNP
+massacre NN
+enjoys VBZ
+generous JJ
+spinning JJ VBG
+unbearable JJ
+conservatorship NN
+constant JJ NN
+brains NNS
+accused VBD VBN
+Adler NNP
+thirty CD
+300 CD
+Hanford NNP
+listeners NNS
+miners NNS
+Noxell NNP
+contributed VBD VBN
+chickens NNS
+cafeteria NN
+reckon VBP VB
+gown NN
+loophole NN
+one NN CD LS PRP
+commitment NN
+costumes NNS
+importing VBG
+physics NN NNS
+senator NN
+Lung NNP
+imprisoned VBN
+fallout NN
+weaknesses NNS
+2653.28 CD
+Corning NNP
+bidders NNS
+call JJ VBP NN VB
+Quite JJ RB PDT
+Jennifer NNP
+infringement NN
+squarely RB
+dissatisfied JJ VBN
+flapping JJ VBG
+rosy JJ
+barefoot JJ RB
+syrup NN
+Uniroyal NNP
+suicide NN
+hands VBZ NNS
+scientific JJ
+guilty JJ RB
+candles NNS
+continues VBZ
+50 CD
+dragging VBG
+Know VBP VB NNP
+measurement NN
+adjuster NN
+Nippon NNP
+Cray NNP
+credentials NNS
+Rousseau NNP
+UNESCO NNP
+subscription NN
+Paula NNP
+Books NNPS NNS NNP
+await VBP VB
+automatic JJ
+thousands CD NNS
+vetoed VBD VBN
+Wildlife NNP
+330 CD
+served VBD VBN
+Study NN VB NNP
+Worse RBR JJR
+profited VBD VBN
+October NNP
+ratio NN
+rotation NN
+indefinite JJ NN
+contracts NN VBZ NNS
+woke VBD
+forthcoming JJ
+Rev NNP
+malls NNS
+producer NN
+Environmentalism NNP
+Communications NNPS NNP
+natural JJ NN
+masks NNS
+accountability NN
+covers VBZ NNS
+darkened JJ VBD VBN
+Customs NNPS NNS NNP
+permitted VBD VBN
+Lines NNPS NNS NNP
+attic NN
+9.9 CD
+mutual-fund JJ NN
+Hall NNP
+Safeco NNP
+Institution NNP
+cultures NNS
+always RB
+billion CD
+guidance NN
+did VBD
+Buddy NNP
+realm NN
+Woods NNPS NNP
+sixth JJ RB
+crawl NN VB
+steered VBD VBN
+feels VBZ
+gravel NN
+dialect NN
+Kenneth NNP
+proportion NN
+Fogg NNP
+sixty CD
+manufacturing VBG NN
+denies VBZ
+trial NN
+undertake VB
+venerable JJ
+Mercer NNP
+collapses VBZ NNS
+scrub JJ NN VB
+improve VBP VB
+friendly JJ
+Associated NNP
+language NN
+Piepsam NNP
+Madame NN NNP
+Milan NNP
+owning VBG NN
+budge VB
+bites VBZ NNS
+closest JJS
+wired VBD VBN
+dishonesty NN
+unspeakable JJ
+toes NNS
+PWA NNP
+2010 CD
+Richmond NN NNP
+therapeutic JJ NN
+warriors NNS
+misleading JJ VBG
+surviving VBG
+hauled VBD VBN
+conserve VB
+maid NN
+sequence NN
+Lynn NNP
+earning VBG NN
+reflecting VBG
+peas NNS
+unclear JJ
+decay NN VB
+gatherings NNS
+weighed VBD VBN
+patent JJ NN
+sinking VBG NN
+limit VBP NN VB
+tremor NN
+21.3 CD
+guerrilla JJ NN
+limitations NNS
+stalled VBD VBN
+PBS NNP
+brandy NN VB
+they PRP
+revised JJ VBD VBN
+tumor-suppressor JJ
+Claudio NNP
+knit JJ VBN VB
+Smith NNP
+Moscow NNP
+raising VBG NN RP
+pillars NNS
+StatesWest JJS NNP
+addition NN
+reviewed VBN
+certificate NN
+skinny JJ
+Senators NNPS NNS NNP
+Ohio NNP
+10.1 CD
+arbitration NN
+Sun NNP
+consider VBP VB
+topic NN
+general-purpose JJ
+Table NN NNP
+Jupiter NNP
+Guarantee NN NNP
+scope NN
+racing JJ VBG NN
+artist NN
+Find VBP VB
+forefinger NN
+inspire VBP VB
+Va NNP
+Authority NNP
+incorporates VBZ
+liable JJ
+Jim NNP
+talk NN VBP VB
+year-before JJ
+Natick NNP
+bottom JJ NN
+lid NN
+annuity NN
+hallway NN
+media NN NNS
+Comex NNP
+targeted JJ VBD VBN
+People NNPS NNS NNP
+Jennie NNP
+robot NN
+processors NNS
+escape VBP NN VB
+earthquake-related JJ
+leisure NN
+newborn JJ
+Rick NNP
+economies NNS
+Reuter NNP
+approximate JJ NN
+Warburg NNP
+elementary JJ
+chlorofluorocarbons NNS
+captain NN VBP
+recovering VBG
+Division NN NNP
+publicist NN
+forests NNS
+runs VBZ NNS
+edged VBD VBN
+viewed VBD VBN
+mines NNS
+slated VBD VBN
+stains NNS
+Koenig NNP
+participant NN
+7.98 CD
+tick NN VB
+Allday NNP
+apron NN
+bigger RBR JJR
+Those DT
+logically RB
+plunge VBP NN VB
+evil JJ NN
+Fine JJ NNP
+alligator NN
+ideal JJ NN
+mysteries NNS
+scanned VBD
+balance JJ RB VBP NN VB
+profit NN VB
+eyed VBD
+dismiss VBP VB
+Morse NNP
+flows VBZ NNS
+haunting JJ VBG NN
+Posted VBD VBN
+subdued JJ VBN
+L. NNP
+Sherwin NNP
+swore VBD
+companions NNS
+long-range JJ
+forming VBG
+meanwhile RB NN
+o'clock RB NN
+images NNS
+advised VBD VBN
+creative JJ
+contemporary JJ NN
+325 CD
+switched VBD VBN
+1980s CD NNS
+world-wide JJ RB
+showing VBG NN
+related JJ VBD VBN
+Sweden NNP
+sipping VBG
+stabilizing VBG
+addresses VBZ NNS
+Why WRB
+taste VBP NN VB
+faltered VBD VBN
+die NN VBP VB FW
+Woolworth NN NNP
+considered JJ VBD VBN
+Lao JJ NNP
+15 CD NNP
+launching VBG NN
+Tomorrow RB NN NNP
+choking JJ VBG
+CORP NNP
+defraud VB
+Confederation NNP
+pinned VBD VBN
+smelled VBD VBN
+copies NNS
+investigate VB
+several JJ RB
+drained VBD VBN
+liking VBG NN
+utilization NN
+switches VBZ NNS
+undefined JJ
+cycles NNS
+frequency NN
+Drabinsky NNP
+twisted JJ VBD VBN
+CERTIFICATES NNPS NNS
+Research NN NNP
+Whittington NNP
+hurled VBD VBN
+Phelps NNP
+5.94 CD
+cruise VBP NN
+hydrogen NN
+6.7 CD
+defaults NNS
+Lodge NNP
+Electronics NNPS NNP
+Prospect NNP
+5.1 CD
+guarantees VBZ NNS
+Strategic NNP
+mutually RB
+accent NN
+tourist NN
+upscale JJ NN
+urge NN VBP VB
+Milpitas NNP
+piled JJ VBD VBN
+generated VBD VBN
+Meanwhile RB
+toilet NN
+Craig NNP
+northeast JJ RB NN
+partisan JJ
+enact VB
+conciliatory JJ
+15,000 CD
+generates VBZ
+reminded VBD VBN
+Napoleon NN NNP
+hawk NN
+Pharmaceutical NNP
+Allstates NNP
+fifth JJ RB NN
+Oxford NNP
+shoved VBD
+US PRP NNP
+programming VBG NN
+planting VBG NN
+reflects VBZ
+withdrawals NNS
+Bonds NNPS NNS NNP
+capitalist JJ NN
+quarrel NN VB
+invests VBZ
+Shannon NNP
+challenged VBD VBN
+McKinley NNP
+history NN
+busted JJ VBD VBN
+airplane NN
+Trans NNP
+how WRB
+lent VBD VBN
+calculation NN
+background NN
+center JJ RB VBP NN VB
+underlying JJ VBG
+Party NN NNP
+modernized JJ VBD VBN
+Sanford NNP
+velvet NN
+painted JJ VBD VBN
+documents VBZ NNS
+bank-holding JJ
+score VBP NN
+Ill NNP
+circles VBZ NNS
+rent NN VB
+brass JJ NN
+Ethiopia NN NNP
+capable JJ
+wall NN VB
+discover VBP VB
+Leval NNP
+Houston-based JJ
+copy VBP NN VB
+province NN
+R.I. NNP
+capital-gains JJ NN NNS
+covert JJ
+Prudential JJ NNP
+brewer NN
+hearing VBG NN
+through JJ RB RP IN
+Rosa NNP
+embarrassment NN
+furious JJ
+Midwest JJ NN JJS NNP
+dirty JJ
+homeland NN
+contracted VBD VBN
+vacation NN
+stem VBP NN VB
+peering VBG
+remarkable JJ
+tours VBZ NNS
+philosophers NNS
+2.625 CD
+Capitol NN NNP
+cotton NN
+punishable JJ
+ashore JJ RB
+unfamiliar JJ
+Teamsters NNPS
+saloons VBZ NNS
+sensation NN
+fragile JJ
+coughing VBG NN
+4.8 CD
+Inc NNP
+combination NN
+ironic JJ
+Years NNS
+laborers NNS
+feeding VBG NN
+typewriter NN
+mostly RB
+marble NN
+Paxus NN NNP
+Md. NNP
+misinterpreted VBN
+outlook NN
+yes RB UH
+causing VBG
+statistics NNS
+weeklong JJ NN
+money-market JJ NN
+Applied NNP
+pace NN VB
+unemployment NN
+grains NNS
+observers NNS
+amazement NN
+pools NNS
+one-half JJ NN
+stance NN
+Further JJ RB RBR
+joint JJ NN
+lease NN VBP VB
+commanding JJ VBG
+neighborhood NN
+jumping VBG NN
+town NN
+bidder NN
+around RB RP IN
+Violet NNP
+Clayton NNP
+turn RB VBP NN VB
+Greene NNP
+formally RB
+resistance NN
+successfully RB
+Kitti NNP
+encourages VBZ
+Barbara NNP
+Haas NNP
+Stark NNP
+fumbled VBD
+prostitutes NNS
+sheep NN
+Dodge NNP
+placid JJ
+engineer NN VB
+Stick VB NNP
+mythological JJ
+Tobacco NN NNP
+error NN
+killing VBG NN
+gifts NNS
+Heavy JJ NNP
+fertilizers NNS
+rebounded VBD VBN NN
+Graham NNP
+slide VBP NN VB
+receives VBZ
+authorities NNS
+2659.22 CD
+Something NN NNP
+Donald NNP
+hotel-casino NN
+Karipo NNP
+Oh UH NNP
+plot NN VB
+retinoblastoma NN
+County NN NNP
+misunderstood VBD VBN
+reported JJ VBD VBN VBP
+authors NNS
+show VBP NN VB
+generator NN
+oral JJ
+unconcerned JJ
+bullets NNS
+Wash VB NNP
+Gradually RB
+IRS NNP
+FBI NNP
+Bavaria NNP
+criticisms NNS
+Cutler NNP
+surged VBD VBN
+wives NNS
+thin JJ RB VB
+circled VBD
+installation NN
+cage NN
+word NN
+expanding JJ VBG
+Beers NNP
+distributor NN
+content JJ NN VB
+Robin NNP
+Agriculture NNP
+Taipei NNP
+pianist NN
+Knight NNP
+distressing JJ
+equal JJ VBP VB
+participate VBP VB
+where WRB
+gossip NN
+unborn JJ NN
+F-16 NN CD NNP
+spiritual JJ NN
+burial NN
+Communist JJ NNPS NN NNP
+ass NN
+endangered JJ VBN
+designer NN
+Torrio NNP
+soaking JJ VBG RB NN
+maintaining VBG
+star JJ NN VB
+Sterling NN NNP
+EC NNP
+explicitly RB
+Levine NNP
+roll VBP NN VB
+Geneva NNP
+chronic JJ NN
+entire JJ NN
+bureau NN
+originally RB
+Mountains NNPS NNP
+fight VBP NN VB
+paper NN
+male JJ NN
+global JJ
+harshly RB
+Jerusalem UH NNP
+executing VBG
+damage VBP NN VB
+Master NN NNP
+consulting JJ VBG NN
+female JJ NN
+Tucson NNP
+Ship NN NNP
+newest JJS
+void JJ NN VB
+Society NN NNP
+clouds VBZ NNS
+knights NNS
+diplomacy NN
+retire VBP VB
+chew VBP VB
+Currently RB NNP
+safer JJR
+invitations NNS
+company NN
+sensitive JJ NN
+offices NNS
+dairy NN
+1.12 CD
+section NN ,
+specialists NNS
+School NN NNP
+market VBP NN VB
+ozone NN
+distribution NN
+warned VBD VBN
+Running VBG NN
+jealousy NN
+hose NN
+having VBG
+embarrassed JJ VBD VBN
+aided VBD VBN
+extending VBG
+rebuffed VBD VBN
+memories NNS
+careers NNS
+CDL NNP
+Parliament NNP
+casualty NN
+inflows NNS
+1.44 CD
+candy NN
+priority JJ NN
+prescribed JJ VBD VBN
+waive VB
+associates NNS
+approved JJ VBD VBN
+Matra NNP
+correction NN
+Buffett NNP
+high-pitched JJ
+chairmen NNS
+settles VBZ
+bellowed VBD
+spear NN
+Gillett NNP
+hangs VBZ
+remaining JJ VBG
+territory NN
+muscular JJ
+marketing JJ VBG NN
+Rally NN NNP
+threatens VBZ
+roses NNS
+aides NNS
+airlines NNS
+partly RB
+Conn NNP
+salesmen NNS
+fossil JJ NN
+quite RB PDT
+solve VB
+Savaiko NNP
+target VBP NN VB
+categories NNS
+Daimler-Benz NNP
+Family NN NNP
+mortgage NN VB
+coffin NN
+Institut NNP
+Gonzalez NNP
+franchisers NNS
+Giuliani NNP
+grades NNS
+sitter NN
+Fairfield NNP
+Bradley NNP
+installations NNS
+police NN VB NNS
+halted VBD VBN NN
+editors NNS
+prospects NNS
+Town NNP
+insure VBP VB
+delicate JJ
+roughly RB
+And CC NNP
+counterpart NN
+mid-1990s CD NNS
+advisory JJ NN
+AG NNP
+buffer NN VB
+expires VBZ
+At NNP IN
+lenders NNS
+roots NNS
+Olin NNP
+secretary NN
+inclination NN
+protest NN VB
+year-end JJ RB NN
+Dayton NNP
+pains NNS
+Austin NNP
+negligence NN
+tightly RB
+Toy NNP
+Faulkner NNP
+disk NN
+exclaimed VBD
+ignored VBD VBN
+subordinated JJ VBD VBN
+defendant NN
+unfair JJ
+provinces NNS
+machines NNS
+factories NNS
+Palestine NNP
+five-year JJ
+though VBD RB IN
+involvement NN
+Doaty NNP
+Detroit NNP
+slice NN VBP VB
+unspecified JJ
+trust VBP NN VB
+Joshua NNP
+humans NNS
+Morishita NNP
+Her PRP$ PRP
+December NNP
+advertising VBG NN
+uphill JJ RB
+those DT
+2009 CD
+promising JJ VBG
+threats NNS
+supper NN
+Dingell NNP
+cite VBP VB
+Freddie NNP
+bacterium NN
+Sachs NNP
+activists NNS
+evolution NN
+Investor NN NNP
+Shield NNP
+Stein NNP
+repaid VBD VBN
+allow VBP VB
+bound JJ VBD VBN
+ceramic JJ
+1981 CD
+62.5 CD
+Filipinos NNPS NNS
+jeopardize VB
+Additionally RB
+mineral JJ NN
+focus VBP NN VB
+Gintel NNP
+continually RB
+obviously RB
+injured JJ VBD VBN
+Pedersen NNP
+1990 CD
+attendance NN
+resignations NNS
+noncallable JJ
+believes VBZ
+competitive JJ
+Askington NNP
+anonymity NN
+closed-end JJ
+swings VBZ NNS
+easy JJ RB
+insider NN
+disliked VBD
+Add VB
+canvas NN
+tract NN
+progress NN VB
+disturbed JJ VBD VBN
+encounter VBP NN VB
+idle JJ VB
+coat NN
+deter VBP VB
+drinks VBZ NNS
+Wachovia NNP
+Rubbermaid NNP
+further JJ RB JJR RBR VB
+strengthened JJ VBD VBN
+hostile JJ NN
+Siddo NNP
+astonishing JJ
+proprietorship NN
+down JJ RB RBR NN VBP RP IN
+8.5 CD
+decency NN
+Espectador NNP
+Banking NN NNP
+dumb JJ
+inherent JJ
+moves VBZ NNS
+fare VBP NN VB
+Gatward NNP
+RISC NNP
+non-financial JJ
+Helmsley NNP
+consensus NN
+Beatrice NN NNP
+Sherlock NNP
+retail JJ VBP NN VB
+40 CD
+statistical JJ
+requiring VBG
+Commons NNPS NNP
+clever JJ
+Penn NNP
+Keep VB
+tangible JJ
+computerizing VBG
+M. NNP
+district JJ NN
+movies NNS
+sees VBZ
+Genetic JJ NNP
+accomplishment NN
+savage JJ
+spree NN
+unnamed JJ
+builds VBZ
+philosophical JJ
+Southerners NNPS NNS
+rebel JJ NN VB
+own JJ VBP VB
+what WP WDT
+Venice NNP
+renewed JJ VBD VBN
+Nabisco NNP
+despair NN
+divisive JJ
+109 CD
+parochial JJ
+My PRP$ NNP
+burns VBZ NNS
+widen VBP VB
+motion-picture JJ NN
+God UH NNP
+hate NN VBP VB
+Indian JJ NNP
+freeing VBG
+ordinary JJ
+alien JJ NN
+Wyoming NNP
+bellwether JJ NN
+de JJ FW NNP IN
+Few JJ
+gallons NNS
+Avondale NNP
+recognizable JJ
+Walter NNP
+Ruth NNP
+immense JJ NN
+letters NNS
+Wednesday NNP
+FHA NNP
+Canelo NNP
+Supreme NNP
+editorials NNS
+chairs VBZ NNS
+Pfeiffer NNP
+Campeau NN NNP
+finger NN VB
+throw NN VBP VB
+propose VBP VB
+ski JJ VBP NN VB
+yelled VBD
+strongly RB
+nominal JJ NN
+infant JJ NN
+hammered VBD VBN
+enrollment NN
+on-site JJ
+3.9 CD
+bulk JJ NN
+package NN VB
+narrowed VBD VBN
+worthless JJ
+hits VBZ NNS
+Mo. NNP
+bleached JJ VBN
+players NNS
+regulation NN
+approves VBZ
+More JJ JJR RBR
+indifferent JJ
+barrage NN
+Donaldson NNP
+seemed VBD VBN
+Flight NN NNP
+piling VBG
+alleviate VB
+vitality NN
+students NNS
+Nine-month JJ
+boiling VBG NN
+tariffs NNS
+Blood NN NNP
+itself PRP
+office NN
+apiece JJ RB
+substantial JJ
+plants NNS
+bass NN
+Railway NNP
+Jew NN NNP
+analysis NN
+Mobil NNP
+broke JJ VBD RB
+rusty JJ
+crashing VBG
+productivity NN
+volumes NNS
+Holiday NNP
+waved VBD
+feared VBD VBN
+Underwriters NNS NNP
+somehow RB WRB
+counters NNS
+allegedly RB
+refused VBD VBN
+branches NNS
+afloat RB
+Married JJ VBN NNP
+Monday NNP
+cared VBD VBN
+licensing VBG NN
+Union JJ NN NNP
+Business NN NNP
+theoretical JJ
+high-technology JJ NN
+Young JJ NN NNP
+clicked VBD VBN
+Constitution NNP
+anticipate VBP VB
+Sadie NNP
+crumbling VBG
+South JJ RB NNPS NN NNP
+34 CD
+sponsors VBZ NNS
+bread-and-butter JJ
+spoke VBD NN
+promotion NN
+Quist NNP
+salary NN
+Tribune NNP
+Ngoc NNP
+peaked JJ VBD VBN
+match VBP NN VB
+somewhere RB NN
+taping VBG NN
+human JJ NN
+cleared VBD VBN
+entrance NN
+high-risk JJ CD
+cured VBD VBN
+contend VBP VB
+Eight CD
+Remics NNS
+petition NN VB
+fastest JJS RBS
+billions NNS
+122 CD
+cropped VBD VBN
+erect JJ VB
+7.875 CD
+orthodontic JJ
+TransCanada NNP
+Rafale NNP
+discussing VBG
+Police NN NNS NNP
+childhood NN
+Anthony NNP
+subsidiaries NNS
+Amsterdam NN NNP
+ladies NNS
+yielding JJ VBG NN
+betrayed VBD VBN
+romantic JJ
+behaved VBD VBN
+rescue NN VB
+choices NNS
+scratching VBG
+Feathertop NNP
+hard JJ RB
+only JJ RB
+barometer NN
+intentions NNS
+135 CD
+adequate JJ
+orthodontist NN
+prosecuting VBG NN
+reassured VBD VBN
+residents NNS
+Universal NNP
+review VBP NN VB
+KGB NNP
+Tolley NNP
+blue-chip JJ
+consecutive JJ
+Re NNP
+chores NNS
+Memphis NNS NNP
+materials NNS
+bankruptcy-law NN
+hemorrhaging JJ VBG NN
+gainers NNS
+Moll NNP
+controllers NNS
+forestall VB
+gorgeous JJ
+marital JJ
+June NNP
+she PRP
+Africa NNP
+recruiting VBG NN
+classroom NN
+rolling JJ VBG NN
+unscrupulous JJ
+interpreter NN
+Dennis NNP
+swaying VBG NN
+torn JJ VBN
+Shack NNP
+modeled JJ VBD VBN
+reviews VBZ NNS
+violates VBZ
+25 CD
+Credit NN NNP
+Friend NN NNP
+considerations NNS
+chemists NNS
+uncertainty NN
+relaxing JJ VBG
+tired JJ VBN
+programs NNS
+9.8 CD
+Register NNP
+applicable JJ
+capita NN NNS
+plea NN VB
+reaches VBZ NNS
+arrests NNS
+nation NN
+accommodate VBP VB
+disposal NN
+Madden NNP
+petroleum NN
+importantly RB
+write-off NN
+persistent JJ NN
+Road NN NNP
+2,500 CD
+gerrymandering NN
+pumped VBD VBN
+Olympics NNPS NNS NNP
+Eurocom NNP
+ladder NN
+M NNP
+shady JJ
+preacher NN
+comprises VBZ
+integrity NN
+verbal JJ
+141.90 CD
+19.6 CD
+controlling JJ VBG NN
+universally RB
+Deep JJ RB NN NNP
+obligations NNS
+Trading VBG NN NNP
+10.2 CD
+burden NN
+installment JJ NN
+businessmen NNS
+blocked VBD VBN
+wood NN
+precedent NN
+wish NN VBP VB
+narrative JJ NN
+Finally RB
+may MD
+morality NN
+Teagan NNP
+invariably RB
+stamping VBG NN
+Joint NNP
+Sisulu NNP
+blank JJ RB NN VB
+bottled JJ VBN
+environments NNS
+buckskin NN
+suspicions NNS
+photograph NN
+civilian JJ NN
+jewelry NN
+circle NN VB
+precious JJ
+practice VBP NN VB
+Fame NN NNP
+running JJ VBG NN
+stubborn JJ
+Rev. NNP
+Hospital NN NNP
+choose VBP VB
+solutions NNS
+state-owned JJ
+schemes NNS
+spite NN
+Mrs. NNP
+Jews NNPS NNS NNP
+capacity NN
+absorb VBP VB
+Langford NNP
+heroic JJ
+sensed VBD VBN
+swayed VBD VBN
+politically RB
+Money NN NNP
+law-enforcement JJ NN
+6.90 CD
+shorts NNS
+opposes VBZ
+Sr. NNP
+Guber-Peters JJ NNP
+presentation NN
+0.25 CD
+tentative JJ NN
+Farrell NNP
+prowess NN
+deceptive JJ
+haste NN
+hatred NN
+teaching VBG NN
+damp JJ NN VBP VB
+festival NN
+experiment VBP NN
+burgeoning VBG
+rejected VBD VBN
+supervisor NN
+Del NNP
+doubt RB VBP NN VB
+dancing VBG NN
+blows VBZ NNS
+developments NNS
+tall JJ
+blueprint NN
+Wine NN NNP
+commissioners NNS
+visit VBP NN VB
+issues VBZ NNS
+12-month JJ
+masonry NN
+Coast JJ NN NNP
+Depending VBG
+Go VB NNP
+Lippens NNP
+Windsor NNP
+pictures VBZ NNS
+filmed VBN
+deteriorate VBP VB
+lofty JJ
+feeble JJ
+Tariff NN
+unduly RB
+Milwaukee NNP
+peers VBZ NNS
+money-losing JJ
+butt NN VB
+Acadia NNP
+treasurer NN
+Meet VBP VB NNP
+stirred VBD VBN
+Consulting NNP
+backs VBZ NNS
+Champs NNP
+lit VBD VBN NN
+educated VBN
+assignment NN
+Rothschild NNP
+longing VBG NN
+Hogan NNP
+Germany NNP
+undermine VBP VB
+concept NN
+scramble NN VBP
+heel NN
+aerospace JJ NN
+process VBP NN VB
+desperate JJ
+Vogelstein NNP
+downtown JJ RB NN
+independently RB
+Drexel NNP
+polite JJ
+Rothschilds NNPS
+local JJ
+brunt NN
+white-collar JJ
+Components NNP
+registration NN
+Garratt NNP
+Activity NN NNP
+Nazis NNPS NNS
+Initiative NNP
+Neptune NNP
+prove VBP VB
+termination NN
+learning VBG NN
+inner JJ
+gouging VBG NN
+reversal NN
+heavy JJ RB NN
+lean JJ VBP VB
+Cruz NNP
+affected JJ VBD VBN
+signed JJ VBD VBN
+spring NN VB
+Rudolph NNP
+forgotten VBN
+Carroll NNP
+bringing VBG NN
+yourself PRP
+Terms NNS
+said VBD VBN
+Toronto NNP
+deceased JJ VBN
+R.J. NNP
+Keeping VBG
+2.9 CD
+ink NN
+Xerox NNP
+recalling VBG NN
+7\/16 CD
+broadly RB
+Battle NN NNP
+best RB JJS RBS
+actual JJ
+reached VBD VBN
+shops NNS
+inclined JJ VBN
+Graphics NNPS NNS NNP
+storm NN VB
+remembers VBZ
+Korean JJ NNP
+reportedly RB
+bluntly RB
+Yank NN NNP
+consistent JJ
+sprang VBD
+Shops NNPS NNS NNP
+disclosure NN
+6.8 CD
+Blumenfeld NNP
+Norfolk NNP
+shown VBN
+cater VBP VB
+destructive JJ
+Linda NNP
+Farmington NNP
+authorize VB
+Take VBP VB
+Nothing NN NNP
+somewhat RB
+journey NN VB
+Bryant NNP
+Paxton NNP
+playwright NN
+Ga. NNP
+Apparently RB
+presumed JJ VBD VBN
+buttons NNS
+fingerprints NNS
+ESPN NNP
+Gates NNP
+evidenced VBN
+confession NN
+terrific JJ
+Europe NNP
+opportunities NNS
+Sidhpur NNP
+buddies NNS
+Puerto NNP
+warning VBG NN
+undergo VBP VB
+radiation NN
+Bunker NNP
+sticks VBZ NNS
+household JJ NN
+adjustments NNS
+range VBP NN VB
+colors NNS
+Yale NNP
+unpredictable JJ
+wells NNS
+agony NN
+modestly RB
+sum NN VB
+Jack NNP
+71 CD
+separating VBG
+Lesko NNP
+blowing VBG
+disasters NNS
+indifference NN
+13.8 CD
+strenuous JJ
+quote VBP NN VB
+lend VBP VB
+riders NNS
+Provigo NNP
+helps VBZ
+over JJ RB RP IN
+completely RB
+Shale NNP
+RICO NNP
+holding VBG NN
+sites NNS
+distributing VBG NN
+William NNP
+snack-food NN
+enough JJ RB NN
+ample JJ
+wealth NN
+Wright NNP
+understands VBZ
+glued JJ VBN
+battered JJ VBD VBN
+vinegar NN
+atmospheric JJ
+constituency NN
+courting VBG
+Noranda NNP
+Up RB RP IN
+regains VBZ
+ring VBP NN VB
+intensely RB
+definite JJ
+Beam NNP
+underwriting VBG NN
+Leonard NN NNP
+Warner-Lambert NNP
+accompanying JJ VBG
+far-reaching JJ
+Rica NNP
+fiber NN
+Cetus NNP
+upstairs JJ RB NN
+depress VBP VB
+8.75 CD
+Force NNP
+thoughts NNS
+explanation NN
+reproduce VB
+Mass. NNP
+curb NN VB
+myth NN
+reluctance NN
+quarry NN
+Vista NNP
+gentle JJ VB
+Shortly RB
+Poughkeepsie NNP
+Act NNP
+Mercedes-Benz NNP
+drill NN VB
+7.95 CD
+Las NNP
+writers NNS
+U.S.S.R. NNP
+chooses VBZ
+lackluster JJ RB NN
+omnibus JJ NN
+yet CC RB RP
+teachers NNS
+timber NN
+dialysis NN
+Amendment NNP
+fumes NNS
+toe NN VB
+internally RB
+Moreover RB JJR
+shaft NN
+grabbed VBD VBN
+cigar NN
+Mason NNP
+whenever WRB
+tight JJ RB
+baskets NNS
+potatoes NNS
+prosecution NN
+Mills NNPS NNP
+balk VBP VB
+skirt NN VB
+Fink NNP
+underestimated VBD VBN
+insulin NN
+Ramirez NNP
+undertaking VBG NN
+1927 CD
+sense VBP NN VB
+Plus CC NNP
+seated JJ VBN
+auctions NNS
+restoring VBG
+consisted VBD VBN
+contained VBD VBN
+owned JJ VBD VBN
+organ NN
+Danny NNP
+construction NN
+rapidly RB
+retirement NN
+funding VBG NN
+gasping VBG
+perverse JJ
+Realty NNP
+Would MD
+reformers NNS
+16,000 CD
+Burton NNP
+Copernicus NNP
+Bermuda JJ NNP
+dazzling JJ VBG
+bosom NN
+misconduct NN
+Sears NNS NNP
+equivalent JJ NN
+softening VBG NN
+definitive JJ
+Greg NNP
+raining VBG
+CDs NNPS NNS NNP
+re-election NN
+80 CD
+smack UH RB VBP VB
+clergyman NN
+accuracy NN
+briefly RB NN
+J.C. NNP
+whipped VBD VBN
+surgical JJ
+indicating VBG
+idea NN
+resale NN
+Kleinwort NNP
+Gold NN NNP
+betting VBG
+task NN
+machinist NN
+Professional JJ NNP
+drafting VBG NN
+Beth NNP
+breadth NN
+satellite JJ NN
+Ethyl NNP
+Benson NNP
+squeeze VBP NN VB
+whoever WP
+Also RB
+Pope NNP
+continued JJ VBD VBN
+I. NN NNP
+defeat NN VB
+tire VBP NN VB
+Vientiane NNP
+explode VB
+RATES NNPS NNS NNP
+terrible JJ
+meager JJ
+universal JJ
+breaks VBZ NNS
+sold VBD VBN
+extra JJ NN
+intimate JJ NN VB
+expression NN
+payments NNS
+handkerchief NN
+version NN
+direction NN
+hotel NN
+zero-coupon JJ NN
+chemistry NN
+aloud RB
+Banc NNP
+reserved JJ VBD VBN
+enduring JJ VBG
+highroad NN
+visits VBZ NNS
+memorable JJ
+Vietnam NNP
+low JJ RB NN
+massages NNS
+Stacy NNP
+Man UH NN NNP
+Dorrance NNP
+reserves VBZ NNS
+flow NN VBP VB
+Scientists NNS
+raise NN VBP VB
+cooler JJR NN
+inquest NN
+Combined JJ VBN NNP
+Firms NNPS NNS
+competitiveness NN
+Automatic NNP
+software NN
+rating NN
+forgetting VBG
+directories NNS
+subsidize VB
+Casey NNP
+discount JJ NN VB
+Manville NNP
+chewing VBG NN
+eighteen CD
+buds NNS
+Storage NN NNP
+Navigation NNP
+trusts VBZ NNS
+reservation NN
+apologized VBD VBN
+When WRB NNP
+hefty JJ
+Matt NNP
+fitted VBD VBN
+tasted VBD VBN
+quarters NNS
+Hoag NNP
+offense NN
+whisper NN VB
+ratings NNS
+pie NN RP
+squeezed VBD VBN
+sympathies NNS
+manufacturer NN
+guinea NN
+diesel JJ NN
+publicized JJ VBN
+hunger NN
+painting VBG NN
+Kume NNP
+dining JJ VBG NN
+Tana NNP
+sections NNS
+pit NN VB
+negotiations NNS
+refunds NNS
+102 CD
+Probably RB NNP
+feature VBP NN VB
+bankruptcy-court JJ NN
+promoters NNS
+breeze NN
+suppliers NNS
+9,000 CD
+punished VBN
+stakes NNS
+distances NNS
+adjoining JJ VBG
+undo VB
+ensure VB
+Lower JJR NNP
+Conway NNP
+bandages NNS
+complied VBD VBN
+port JJ NN
+C$ $
+leaving VBG NN
+tools NNS
+wait VBP NN VB
+Waxman NNP
+static JJ
+Texans NNPS
+determine VBP VB
+buy-outs NNS
+Pryor NNP
+Simmons NNP
+slim JJ
+festivities NNS
+supermarket NN
+vaginal JJ
+slug NN VB
+revise VB
+Kageyama NNP
+Sansui NNP
+shrinking VBG NN
+unloading VBG
+ever-changing JJ
+barred VBD VBN
+E-mail NN
+youthful JJ
+alike RB
+moderates NNS
+success NN
+Thermo NNP
+recorded JJ VBD VBN
+Deukmejian NNP
+behind RB NN RP IN
+Palace NNP
+meaning VBG NN
+modifications NNS
+CO. NNP
+walked VBD VBN
+Grace NN NNP
+songs NNS
+undemocratic JJ
+1.4 CD
+genius NN
+Ky. NNP
+NBI NNP
+narrator NN
+refinance VB
+vastly RB
+directing VBG NN
+shouts VBZ NNS
+scratch VBP NN VB
+FirstSouth NNP
+Hilton NNP
+active JJ
+Cafe NN NNP
+fullest JJS
+similarly RB
+43 CD
+Willings NNP
+AT&T NN NNP
+catastrophes NNS
+Conservatives NNPS NNS
+Laboratories NNPS NNP
+jacket NN
+Dynamics NNPS NNP
+unofficial JJ
+19.7 CD
+But CC NNP
+Knife NNP
+front JJ RB NN
+dam JJ UH NN
+foods NNS
+fucken JJ
+nightmare NN
+restore VB
+appointments NNS
+short-term JJ NN NNP
+whether CC IN
+competes VBZ
+Financing NN NNP
+Foreign JJ NNP
+Vila NNP
+Lady NNP
+inhabited JJ VBN
+Businessland NNP
+mornings NNS
+dreaming VBG NN
+Pemex NNP
+probe VBP NN VB
+explaining VBG
+damned JJ VBN RB
+perceived VBD VBN
+31 CD
+aide NN
+motors NNS
+inventories NNS
+one-year JJ
+fist RB NN
+Fluor NNP
+excuse VBP NN VB
+necessity NN
+confusion NN
+discrepancies NNS
+affidavit NN
+Brassnose NNP
+intersection NN
+BroadBeach NNP
+writings NNS
+calendar NN
+deputies NNS
+ESB NNP
+Merkur NNP
+shoot NN VBP VB
+Sri NNP
+steel JJ NN
+protects VBZ
+midsized JJ
+involve VBP VB
+visible JJ
+part NN VB
+stood VBD VBN
+thus RB
+9.75 CD
+ownership NN
+narrowly RB
+bicycles NNS
+Raymond NNP
+terminal JJ NN
+Eisenhower NNP
+Institutes NNPS NNP
+sagged VBD VBN
+results VBZ NNS
+explosion NN
+administrative JJ
+study VBP NN VB
+elephant NN
+vulnerable JJ
+times CC VBZ NNS
+8.4 CD
+Krenz NNP
+Cela NNP
+preparation NN
+Third JJ LS NNP
+Details NNS NNP
+! .
+articulate JJ VB
+effect NN VB
+suggested JJ VBD VBN
+'80s CD NNS
+symbolized VBD VBN
+destined VBN
+controller NN
+Segundo NNP
+Eromonga JJ NNPS NN NNP
+Coopers NNPS NNP
+adversary NN
+mergers NNS
+Yields NNS
+Along RB IN
+dominate VBP VB
+privatized JJ VBN
+unload VBP VB
+mediator NN
+Boston NNP
+Mitsukoshi NNP
+networks NNS
+Jersey NNP
+favorite JJ NN
+Empire NN NNP
+search NN VB
+deflator NN
+125 CD
+Do VBP VB NNP
+player NN
+0.5 CD
+implications NNS
+Flom NNP
+respective JJ
+Consultants NNPS NNS NNP
+assortment NN
+kid NN VB
+Friday-the-13th JJ NN
+subordinates VBZ NNS
+satisfaction NN
+PLO NNP
+dancers NNS
+deductible JJ
+promote VBP VB
+sleeve NN
+plastic JJ NN
+errand NN
+Era NN NNP
+concluded VBD VBN
+managing VBG NN
+8.03 CD
+detailed JJ VBN
+base JJ VBP NN VB
+Hungarian JJ NNP
+carriage NN
+fortunate JJ
+orthodox JJ NN
+sporadic JJ
+employment NN
+ambition NN
+case NN VB
+republics NNS
+Tenn. NNP
+Co NNP
+Dearborn NNP
+stockholder NN
+procedural JJ
+increased JJ VBD VBN VB
+unlocked JJ VBD VBN
+Excluding VBG NNP
+Vice NNP
+hopeless JJ
+wandered VBD
+Procter NNP
+before RB RP IN
+thought VBD VBN NN
+groped VBD
+drugs NNS
+fond JJ NN VB
+Throat NNP
+failures NNS
+exclusion NN
+rebate NN
+elegant JJ
+Ahmad NNP
+connect VBP VB
+coincidence NN
+suppose VBP VB
+bizarre JJ
+gun NN
+Maine NNP
+Associates NNPS NNP
+tan JJ NN
+Mike NNP
+exposing VBG
+lousy JJ
+greedy JJ
+earlier JJ RB JJR RBR NN
+purchasers NNS
+prosperity NN
+trails VBZ NNS
+speculation NN
+Machine NN NNP
+IRA NNP
+scraped VBD VBN
+printers NNS
+impressive JJ
+speaker NN
+guidelines NNS
+Petrochemical NNP
+field NN VB
+'em PRP
+shortfall NN
+sidelines NNS
+Trig NNP
+Sagan NNP
+attention NN
+turbines NNS
+Morris NNP
+topics NNS
+disposable JJ
+fleeing VBG
+carry-forward NN
+rack NN VB
+pits VBZ NNS
+Judith NNP
+Kozinski NNP
+enjoyment NN
+Arias NNP
+telephones NNS
+guide NN VB
+Markets NNPS NNS NNP
+proxy JJ NN
+Marvin NNP
+sentences NNS
+handed VBD VBN
+passing JJ VBG NN
+1950s CD NNS
+check VBP NN VB
+buzzing JJ VBG
+Men NNPS NN NNS NNP
+tumbled JJ VBD VBN
+Minneapolis NNP
+identical JJ
+moved VBD VBN
+rare JJ
+Johnny NNP
+Lane NNP
+Vernon NNP
+divestiture NN
+draft NN VB
+faded VBD VBN
+Out RB NNP IN
+admired VBD VBN
+veil NN
+turning JJ VBG NN
+headquarters NN NNS
+Yes RB UH NNP
+contest NN VB
+Sotheby NNP
+pulling VBG
+panel NN
+followed JJ VBD VBN
+Bern NNP
+Convenience JJ NNP
+Nearly RB
+Jewish JJ NNP
+8.50 CD
+trying JJ VBG
+presidents NNS
+initiative NN
+disagree VBP VB
+powerful JJ
+Circuit NN NNP
+Car NN NNP
+fast JJ RB NN RP
+unfriendly JJ
+Boesel NNP
+52 CD
+light JJ RB NN VB
+Power NN NNP
+Nynex NNP
+collaboration NN
+blown JJ VBN
+Dickens NNP
+upstream JJ RB
+ethnic JJ
+pall NN
+Pathet NNP
+farmers NNS
+meddling VBG NN
+sign NN VB
+Witter NNP
+Less JJR RBR NNP
+judgment NN
+someday RB
+brakes NNS
+Motorola NNP
+slightly RB
+grand JJ
+pesticide NN
+darling JJ NN
+earthquakes NNS
+loyalty NN
+publicity NN
+11\/16 CD
+Frankfurt NNPS NN NNP
+rumored JJ VBD VBN
+Tiananmen NNP
+shortly RB
+589 CD
+? .
+agricultural JJ
+mining VBG NN
+organic JJ
+Satellite NNP
+diverse JJ
+1105 CD
+Mastergate NNP
+angels NNS
+Advisory NNP
+bar NN VB
+publications NNS
+large-scale JJ
+diversification NN
+regained VBD VBN
+visited VBD VBN
+gross JJ
+couples NNS
+assure VBP VB
+mimesis NN
+comeback NN
+Mousie NNP
+endured VBD VBN
+Issues NNPS NNS NNP
+true JJ
+signaled VBD VBN
+Shattuck NNP
+pasture NN
+Cos NNPS NNP
+Prosecutor NNP
+developing JJ VBG
+bouncing VBG NN
+scrambled VBD
+chance VBP NN VB
+fantasy NN
+requests NNS
+calculating JJ VBG NN
+Oso NNP
+14.5 CD
+Wait VB
+vehicles NNS
+loud JJ RB
+O'Donnell NNP
+imperial JJ
+prayer NN
+short JJ RB VB
+largely RB
+audiences NNS
+N NN NNP
+N.M. NNP
+22 CD
+amateur JJ NN
+drag NN VBP VB
+education NN
+brick NN
+Geographic NNP
+regulators VBZ NNS
+deposits VBZ NNS
+Mackenzie NNP
+biwa FW
+learned JJ VBD VBN
+Herman NN NNP
+overhang NN
+fellow JJ NN
+flags NNS
+subordinate JJ NN VB
+customers NNS
+pair NN VB
+The VB DT NNP
+appropriations NNS
+accomplishments NNS
+exhibition NN
+Software NNP
+She NN PRP
+exceedingly RB
+defects NNS
+Bob NNP
+Angels NNPS NNP
+Garth NNP
+grounded VBD VBN
+acts VBZ NNS
+overpriced JJ VBN
+blaze NN VBP VB
+authority NN
+Source NN NNP
+pulp NN
+smoke NN VBP VB
+Hines NNP
+variety NN
+pursued JJ VBD VBN
+cautioned VBD
+environmentally RB
+undergoing VBG
+Traffic NN NNP
+shoulders NNS
+couple JJ NN
+exercises VBZ NNS
+proud JJ
+Nuovo NNP
+white JJ NN
+face JJ RB VBP NN VB
+Behind RB IN
+ripe JJ
+sleek JJ
+imminent JJ
+obtain VBP VB
+newsletters NNS
+Banks NNPS NNS NNP
+arbitrage NN
+writer NN
+wishful JJ
+Suddenly RB
+Methodist NNP
+ferry NN VB
+happened VBD VBN
+About RB IN
+suffering JJ VBG NN
+families NNS
+numbered VBD VBN
+gesture NN
+layer NN
+Pat NNP
+miracle NN
+defective JJ
+aim VBP NN VB
+factor NN VB
+leader NN
+Gutfreund NNP
+shipyard NN
+knocked VBD VBN
+1963 CD
+According VBG NNP
+qualify VBP VB
+thrill NN VB
+surrounded VBD VBN
+salt JJ NN
+61 CD
+career NN
+opened VBD VBN
+mandate NN VB
+Martha NN NNP
+tractors NNS
+cheese NN
+Andrews NNP
+cost-cutting JJ NN
+south JJ RB NN
+automotive JJ
+public JJ NN
+intricate JJ
+malignant JJ
+140 CD
+charity NN
+Aaron NNP
+ants NNS
+presenting VBG
+plucked VBD VBN
+siege NN
+extension NN
+listing VBG NN
+mine JJ VBP NN PRP
+free JJ RB VBP VB
+Noel NNP
+alleged JJ VBD VBN
+tentatively RB
+Intermediate NNP
+stalls VBZ NNS
+portrayed VBD VBN
+rear JJ NN VB
+cowboy NN
+fares NNS
+echoing VBG
+run VBD VBN NN VBP VB
+slaughter NN
+worker NN
+completing VBG
+arsenals NNS
+nevertheless RB
+End NN VB NNP
+roles NNS
+shorter JJR
+Results NNS
+questioned VBD VBN
+facing VBG
+hardy JJ
+expiration NN
+Tim NNP
+keen JJ NN VB
+length NN
+U.N. NNP
+flurry VBP NN
+known JJ VBN
+assurances NNS
+van NN NNP
+0.05 CD
+Square JJ NN NNP
+interbank JJ NN
+bourbon NN
+Cruise NNP
+glowed VBD
+expectations NNS
+valid JJ
+ammunition NN
+bitterly RB
+streamed VBD
+carried VBD VBN
+charts NNS
+cost-of-living JJ NN
+alleges VBZ
+moving JJ VBG NN
+trees NNS
+Latin JJ NNPS NNP
+Four CD NNP
+Milunovich NNP
+Goldberg NNP
+describing VBG
+afternoons RB NNS
+Warner NNP
+Roth NNP
+behalf NN
+coverage NN
+13 CD
+printing VBG NN
+capitalized JJ VBD VBN
+latter JJ NN
+person NN
+affirmed VBD VBN
+colleges NNS
+Provident NNP
+collapsed JJ VBD VBN
+can MD NN VB
+volunteer VBP NN VB
+clearer RBR JJR
+Paramount NNP
+fret VBP VB
+45,000 CD
+pleading JJ VBG NN
+demonstration NN
+Campbell NNP
+fronts NNS
+full-year JJ
+pro-democracy JJ
+stillness NN
+knew VBD
+Kirby NNP
+yelling VBG NN
+unnecessary JJ
+Saab-Scania NNP
+produce NN VBP VB
+Madrid NNP
+initiated VBD VBN
+Polly NNP
+benefited VBD VBN
+7.6 CD
+winner NN
+unknown JJ NN
+Luzon NNP
+translate VB
+healthy JJ
+bets NNS
+locations NNS
+Seoul NNP
+Director NNP
+segment NN
+readings NNS
+disaster NN
+tail JJ NN
+orgasm NN
+Building VBG NN NNP
+similar JJ
+Japanese JJ NNPS NN NNS NNP
+Mary NNP
+Julia NNP
+Peru NNP
+tolerance NN
+jumped VBD VBN
+WPP NNP
+intact JJ
+6.25 CD
+gone VBN
+sandwiches NNS
+maneuvers NNS
+misplaced VBN
+roaring JJ VBG NN
+Southam NN NNP
+14.2 CD
+swimming VBG NN
+insistence NN
+imply VBP VB
+dissent NN
+wiry JJ
+departed VBD VBN
+priest NN
+fool JJ NN VB
+expired VBD VBN
+trivial JJ
+function VBP NN VB
+implicit JJ
+Imperial JJ NNP
+sales JJ NNS
+Pinkerton NNP
+concession NN
+weak JJ
+ACCOUNT NN NNP
+boast VBP NN VB
+prompted VBD VBN
+fever NN
+Stearns NNPS NNP
+openness NN
+Jenny NNP
+Guaranteed JJ VBN
+Camp NNP
+Thompson NNP
+stated JJ VBD VBN
+North JJ RB NNPS NN NNP
+70 CD
+museums NNS
+staircase NN
+release VBP NN VB
+closure NN
+minister NN NNP
+useful JJ
+participation NN
+unsecured JJ
+McBride NNP
+reactions NNS
+THE DT NNP
+seize VBP VB
+Penney NN NNP
+Poor JJ NNP
+doldrums NN NNS
+overstate VB
+1973 CD
+happening VBG NN
+smiling VBG
+gap NN
+Calgary NNP
+Machinery NNP
+collapse NN VB
+veranda NN
+consistency NN
+Doctor NN NNP
+Wedtech NNP
+visitor NN
+privatization NN
+start-up JJ NN NNS
+theaters NNS
+exceptions NNS
+could MD
+Donoghue NNP
+A[fj] SYM
+flushed VBD VBN
+waking JJ VBG
+replaces VBZ
+Hahn NNP
+sprung VBN
+coach NN
+Trinova NNP
+chimney NN
+Bush NNP
+JAL NNP
+enabled VBD VBN
+digital JJ
+sincere JJ
+ARCO NNP
+restraints NNS
+drinking VBG NN
+flights NNS
+mast NN
+discretionary JJ
+handling VBG NN
+Robert NNP
+proceeded VBD VBN
+sudden JJ
+Get VBP VB
+Boulevard NNP
+livelihood NN
+Minority NN NNP
+establishing VBG
+chapter NN
+myriad JJ NN
+Della NNP
+lodge NN VB
+Sharon NNP
+Survey NN NNP
+Donna NNP
+Todman NNP
+sensations NNS
+low-cost JJ NN
+department NN
+deposit NN VB
+marry VBP VB
+certificates NNS
+amazing JJ
+authentic JJ
+Sen NNP
+rotting VBG
+methods NNS
+attractions NNS
+supporters NNS
+ambivalent JJ
+statesmen NNS
+faster RB RBR JJR
+be VBP VB
+2.50 CD
+found VBD VBN VB
+nodded VBD VBN
+Deposit NNP
+spinoff NN
+AFL-CIO NNP
+Real JJ RB NNP
+trumpet VBP NN
+Together RB
+voluntary JJ
+feedlots NNS
+preliminary JJ
+criminality NN
+Mississippi NNP
+gas NN
+barrier NN
+forecast VBD VBN VBP NN VB
+Ken NNP
+unsafe JJ
+anthrax NN
+residential JJ
+replies VBZ NNS
+Fritzie NNP
+riskier JJR NN
+Wichita NNP
+soaked JJ VBD VBN
+p53 NN CD
+prevented VBD VBN
+Roger NNP
+Keenan NNP
+souls NNS
+misdeeds NNS
+above JJ RB IN
+retailers NNS
+interpreted VBD VBN
+instructed VBD VBN
+offer VBP NN VB
+described VBD VBN
+cheer NN VB
+1920 CD
+bears VBZ NNS
+warmed VBD VBN
+lifted VBD VBN
+good JJ RB NN
+gripped VBD VBN
+Perhaps RB
+clock NN
+financed VBN
+prepare VBP VB
+debates NNS
+chain VBP NN
+razor NN
+decidedly RB
+mystery NN
+reach NN VBP VB
+microprocessor NN
+curtail VBP VB
+voyage NN
+primitive JJ
+Chris NNP
+severe JJ
+sung VBN
+routinely RB
+Gardner NNP
+attempt VBP NN VB
+puck NN
+NEW JJ NN NNP
+oats NN NNS
+fences NNS
+surface VBP NN VB
+economy NN
+Messiah NNP
+views VBZ NNS
+crumbled JJ VBD VBN
+resident JJ NN
+p.m. RB NN
+demanded VBD VBN
+U.S.A NN NNP
+bran NN
+novel JJ NN
+scalp NN
+RJR NNP
+footing VBG NN
+Rootbeer NNP
+undeveloped JJ
+corridor NN
+20,000 CD
+sins NNS
+Rudman NNP
+uncommon JJ RB
+leveled VBD VBN
+poison JJ NN
+Marshall NNP
+announcement NN
+received JJ VBD VBN
+attend VBP VB
+makers NNS
+11\/32 CD
+dangers NNS
+wash VBP NN VB
+Ellen NNP
+lamp NN
+Grenfell NNP
+high-grade JJ
+English-language JJ NN
+Cleveland NN NNP
+80486 CD
+relationship NN
+conscious JJ
+ivory JJ NN
+Reynolds NNP
+Convention NN NNP
+House-Senate JJ NNP
+contemplating VBG
+Pioneer NNP
+Sioux NNPS NNP
+enthusiasts NNS
+effectively RB
+senior JJ
+relatively RB
+insist VBP VB
+satisfying JJ VBG
+prohibited VBD VBN
+loot NN VB
+unsettled JJ VBD VBN
+Container NNP
+Jacques NNP
+Volume NN
+tack NN
+Lipper NNP
+comparatively RB
+Jake NN NNP
+Executive NNP
+Leaving VBG
+Mutton NNP
+7.96 CD
+performing VBG
+5.3 CD
+maps NNS
+Izaak NNP
+Shakespeare NN NNP
+speech NN
+wit NN
+Foster NNP
+promise VBP NN VB
+mindless JJ
+Francesca NNP
+Brodie NNP
+death-penalty JJ NN
+happily RB
+Anacomp NNP
+Inland RB NNP
+crimes NNS
+Emerson NNP
+Mario NNP
+undermined VBD VBN
+Tan NNP
+enter VBP VB
+Usually RB
+Doman NNP
+concentrated JJ VBD VBN
+reading VBG NN
+psyllium NN
+dawn NN VB
+prelude NN
+3.18 CD
+Exxon NN NNP
+Brooks NNP
+TREASURY NN NNP
+airwaves NNS
+Vanguard NNP
+utility NN
+strained JJ VBD VBN
+Dinkins NNP
+Obviously RB
+rejection NN
+300-a-share JJ
+soared VBD VBN
+crawled VBD VBN
+brutal JJ
+Lebanon NNP
+laying VBG NN
+Eddington NNP
+distributes VBZ
+drift NN VB
+Fathers NNPS NNS
+Taiwan NNP
+pegboard NN
+observes VBZ
+burned JJ VBD VBN
+Signal NNP
+producers NNS
+stride NN VB
+40-year-old JJ
+specialist JJ NN
+nowadays RB
+Ron NNP
+step VBP NN VB
+Intel NNP
+adjusting VBG NN
+Litvack NNP
+fence NN
+disadvantage NN
+practitioners NNS
+United JJ VBN NNP
+unsuccessfully RB
+doctors NNS
+Place VB NNP
+ethical JJ
+stairs NNS
+danger NN
+imperative JJ NN
+wind VBP NN VB
+bother VBP VB
+reformer JJ NN
+severed VBD VBN
+Oedipus NNP
+headlines NNS
+chopping VBG NN
+RATE NN NNP
+hoped VBD VBN
+well-being NN
+Cabinet NNP
+tracks VBZ NNS
+brow NN
+Hugh NNP
+log VBP NN VB
+Abrams NNP
+wonder NN VBP VB
+Philadelphia NNP
+queen NN
+1888 CD
+buggy NN
+in RB RBR FW NNP RP IN
+foremost JJ RB
+Carter NNP
+furriers NNS
+imitated VBD VBN
+smoothly RB
+attendant JJ NN
+predicts VBZ
+pipe NN
+delaying VBG NN
+closings NNS
+L.P. NN NNP
+simple JJ NN
+interviews NNS
+FDA NNP
+3.8 CD
+Brokers NNPS NNS
+Arkansas NNS NNP
+banned VBD VBN
+Show NN VB NNP
+exile NN
+outflow NN
+carrying VBG NN
+Gorham NNP
+guests NNS
+arguing VBG NN
+generic JJ
+Leona NNP
+crouched VBD VBN
+boots NNS
+letting VBG
+Merrill NN NNP
+tractor NN
+Down RB NNP IN
+37.5 CD
+deliberately RB
+Much JJ RB
+prestige NN
+murder NN VB
+posted VBD VBN
+Odeon NNP
+intensity NN
+impossible JJ
+aging JJ VBG NN
+edges NNS
+sporting JJ VBG NN
+Medicaid NNP
+Upham NNP
+testify VBP VB
+upright JJ RB
+wrangling VBG NN
+bought VBD VBN
+diluted JJ VBD VBN
+extremely RB
+114 CD
+Miller NNP
+civic JJ
+bathing VBG NN
+Muller NNP
+wicker NN
+desert VBP NN VB
+ranks VBZ NNS
+Vitro NNP
+103 CD
+passenger NN
+Burger NNP
+gem NN
+J. NNP
+pullout NN
+barn NN
+misrepresentations NNS
+Of NNP IN
+minimize VB
+Hank NNP
+ox NN
+Greenwich NNP
+225 CD
+Iraq NNP
+faults NNS
+lighted JJ VBD VBN
+PaineWebber NNP
+these DT
+privacy NN
+composer NN
+recognition NN
+reconcile VB
+justice NN
+Henry NNP
+shoppers NNS
+vigorously RB
+locking VBG
+worried JJ VBD VBN
+unexpected JJ
+glowing JJ VBG
+losses NNS
+pretense NN
+engages VBN VBZ NNS
+median JJ NN
+humming VBG NN
+assessing VBG
+probable JJ
+worsening VBG
+Fargo NNP
+reinforced VBD VBN
+supreme JJ NN
+8.3 CD
+worries VBZ NNS
+glance NN VB
+Rural JJ NNP
+3\/8 CD
+indictment NN
+ancient JJ NN
+Catholic JJ NNP
+sole JJ NN
+accounting JJ VBG NN
+lending JJ VBG NN
+foreign JJ
+commissioned VBD VBN
+supporting JJ VBG
+Posner NNP
+question VBP NN VB
+Fujisawa NNP
+principles NNS
+mortgages NNS
+approaching VBG
+astronauts NNS
+beam NN
+soldier NN
+Randolph NNP
+Eventually RB
+leftist JJ
+Somalia NN NNP
+F-14 NN
+bony JJ
+creatures NNS
+piles NN NNS
+singers NNS
+modernization NN
+probes NNS
+losing JJ VBG NN
+deepest JJS
+Linear NNP
+afternoon NN
+42 CD
+6.1 CD
+utter JJ
+boats NNS
+battled VBD VBN
+excluded VBN
+Hart-Scott-Rodino JJ NNP
+thumb NN
+0.6 CD
+eventually RB
+offshore JJ RB
+beleaguered JJ
+formation NN
+gang NN
+Visitors NNPS NNS
+fixed JJ VBD VBN
+marines NNS
+Their PRP$
+ghetto NN
+crisis NN
+definitely RB
+Birmingham NNP
+liberals NNS
+Rep. NNP
+Previously RB
+cash NN VB
+pretend JJ VB
+Free JJ RB NNP
+location NN
+32 CD
+pennies NNS
+Cousin NN NNP
+graduation NN
+ruptured JJ VBD VBN
+mayoral JJ
+artists NNS
+accusations NNS
+flock NN
+rush VBP NN VB
+Webster NNP
+interrupted JJ VBD VBN
+porch NN
+double-decker JJ
+drink VBP NN VB
+speeds VBZ NNS
+refrigerator NN
+Copper NN NNP
+conspiring VBG
+Forbes NNP
+imbalances NNS
+Reebok NNP
+care VBP NN VB
+Fletcher NNP
+framework NN
+preserve NN VBP VB
+Cincinnati NNS NNP
+Angel NNP
+turnover NN
+tomb NN
+Canada NNP
+mode NN
+fulfillment NN
+MIPS NNS NNP
+SHV NNP
+disturbance NN
+Mather NNP
+virtue NN
+Wis. NNP
+bids VBZ NNS
+Parker NNP
+cart VBP NN VB
+fate NN
+ardent JJ
+plenty JJ RB NN
+glanced VBD
+Helmut NNP
+ham NN
+Eye NN NNP
+shouting VBG NN
+knife NN
+breakers NNS
+1 CD LS NNP
+historically RB
+belly NN
+regarding VBG
+Emhart NNP
+Property NN NNP
+crop NN VB
+strings NNS
+moderation NN
+scented JJ VBN
+pedestrian JJ NN
+chose VBD
+toothpaste NN
+alcoves NNS
+Ludie NNP
+pass VBP NN VB
+laid VBD VBN
+Recently RB
+rendering VBG NN
+3.69 CD
+Hoffman NNP
+pulled VBD VBN
+perpetuate VBP VB
+Review NNP
+cited VBD VBN
+Seeing VBG
+1.5 CD
+temporary JJ
+defender NN
+medication NN
+fella UH NN
+draw VBP NN VB
+automobile NN
+eased VBD VBN
+Fire NN NNP
+Nebraska NN NNP
+council NN
+acknowledge VBP VB
+Personal JJ NNP
+support VBP NN VB
+constitutional JJ
+During IN
+announce VBP VB
+141.45 CD
+deficit NN
+triple-A JJ NNP
+expenditures VBZ NNS
+transmission NN
+Yeah UH NNP
+settled JJ VBD VBN
+two CD LS
+industries NNS
+represent VBP VB
+resume NN VBP VB
+Frederick NNP
+rides NNS
+mania NN
+8.02 CD
+Institute NNP
+hard-disk JJ NN
+mired JJ VBN
+choked VBD VBN
+sighed VBD
+1.125 CD
+filed VBD VBN
+centennial JJ NN
+team NN VB
+director NN
+combines VBZ NNS
+propped VBD VBN
+bell NN
+badly RB
+possibly RB
+psychologists NNS
+six CD LS
+extortion NN
+stiffly RB NN
+Darman NNP
+abolished VBD VBN
+FT-SE NNP
+carpet NN
+ousted JJ VBD VBN
+heads VBZ NNS
+syndicate NN
+fabric NN
+60,000 CD
+creation NN
+nostalgia NN
+advertise VBP VB
+themselves PRP
+Clean JJ VB NNP
+Ehrlich NNP
+outcry NN
+informal JJ
+complete JJ VB
+Hill NNP
+wages NNS
+280 CD
+farmhouse NN
+former JJ NN
+fat JJ NN
+breathed VBD
+Legal JJ NNP
+Redmond NNP
+Conasupo NNP
+fails VBZ
+atoms NNS
+prepayments NNS
+Ariz. NNP
+23 CD
+setup NN
+developing-country JJ
+voters NNS
+notorious JJ
+discontinued JJ VBN
+portfolios NNS
+Weekes NNP
+middlemen NNS
+Corry NNP
+courage NN
+Fiscal JJ NN NNP
+bargains NNS
+shifts VBZ NNS
+Whenever WRB
+guitar NN
+continental JJ
+celebrated JJ VBD VBN
+Highway NN NNP
+smells VBZ NNS
+borrowings NNS
+360 CD
+statewide JJ RB
+bureaucrat NN
+terror NN
+danced VBD
+aggravated VBD VBN
+force NN VBP VB
+Paul NNP
+Sullivan NNP
+close JJ RB VBP NN VB
+incapable JJ
+attain VB
+foyer NN
+produced VBD VBN
+Gratt NNP
+O UH NNP
+Pittsburgh NNP
+III NNP
+skeptics NNS
+significantly RB
+seating VBG NN
+bitter JJ
+yellow JJ NN
+Compaq NNP
+immensely RB
+66.7 CD
+recorder NN
+colon NN
+5,000 CD
+managers NNS
+Kodyke NNP
+Nate NNP
+Spring NN NNP
+atomic JJ
+Vegas NNP
+frighten VB
+Ethan NNP
+rhythms NNS
+frenzy NN
+unfairly RB
+circuit NN
+145 CD
+chilling JJ VBG
+Hollywood NNP
+500-stock JJ CD
+Economic JJ NNP
+outside JJ RB NN IN
+Anyway RB
+Giorgio NNP
+assist VB
+instant JJ NN
+divided VBD VBN
+austerity NN
+slowest JJS
+Minpeco NNP
+beverages NNS
+grant VBP NN VB
+everywhere RB
+Commercial JJ NN NNP
+Lolotte NNP
+Cos. NNPS NNP
+SS NNP
+deeper RB RBR JJR
+socialism NN
+ya PRP
+dances VBZ NNS
+Economists NNPS NNS NNP
+empty JJ VBP VB
+worry NN VBP VB
+express JJ NN VBP VB
+enlisted JJ VBD VBN
+nomination NN
+boring JJ VBG NN
+aborigine NN
+compiled VBN
+calm JJ NN VB
+Meyer NNP
+deja RB NN FW
+masculine JJ NN
+self-employed JJ
+organized-crime NN
+action NN
+Captain NN NNP
+countenance NN VB
+however RB RBR WRB
+know VBP VB
+tape VBP NN VB
+Bogart NNP
+4.25 CD
+writes VBZ
+Monmouth NNP
+Verwoerd NNP
+individual JJ NN
+industry NN
+acknowledging VBG
+Guess VBP VB NNP
+John NNP
+51 CD
+Deb NNP
+cats NNS
+consequently RB
+futures NNS
+unavailable JJ
+CACI NNP
+cocoa NN
+3,000 CD
+modified JJ VBN
+Presidential JJ NNP
+league NN
+curbing VBG
+premiums NNS
+Ching NNP
+trap NN
+Singer NNP
+Lloyds NNP
+escort NN VB
+60 CD NNP
+7.7 CD
+hampered VBN
+credit VBP NN VB
+spirits NNS
+seriously RB
+ages NNS
+acceptance NN
+pockets VBZ NNS
+Bey NNP
+Eduard NNP
+7.93 CD
+Short-term JJ NNP
+details NNS
+Additional JJ
+resembled VBD
+Accord NNP
+typical JJ
+break-even JJ NN
+private-sector JJ NN
+sand NN
+Arts NNPS NNS NNP
+destroying VBG
+double-A JJ NNP
+doing VBG
+notification NN
+species NN NNS
+coin NN
+innocence NN
+glistening VBG
+Airways NNPS NNP
+constitutes VBZ
+Vatican JJ NNP
+14.6 CD
+strapped JJ VBD VBN
+exotic JJ
+preceded VBD VBN
+Pattison NNP
+instead RB
+treacherous JJ
+150 CD
+Iverson NNP
+uneasiness NN
+drama NN
+crunch NN
+dig VBP NN VB FW
+demonstrators NNS
+regularly RB
+frustrated JJ VBD VBN
+Kerry NNP
+lots NNS
+bleeding VBG NN
+pony NN
+rough JJ
+stack NN VB
+broad-based JJ
+sluggish JJ
+textiles NNS
+replied VBD VBN
+fragment NN
+Hutton NNP
+complained VBD VBN
+propulsion NN
+detail NN
+nervous JJ
+payment NN
+fille FW
+bad JJ RB NN
+Pictures NNPS NNS NNP
+Sharp JJ NNP
+treats VBZ NNS
+scripts NNS
+stimulus NN
+fun JJ NN
+looks VBZ NNS
+penetrated VBD VBN
+ball NN
+Bari NNP
+dealer NN
+Talk NN VB
+distinct JJ
+encouragement NN
+Spielvogel NNP
+recipes NNS
+distracted VBD VBN
+950 CD
+parlor NN
+Once RB IN
+vodka NN
+paid VBD VBN
+Waiting VBG NNP
+Del. NNP
+CORP. NNP
+Criminal JJ NNP
+compost NN
+14 CD
+Albert NNP
+authenticity NN
+siphoned VBD VBN
+East JJ RB NNPS NN NNS NNP
+homosexual JJ NN
+efficiency NN
+assembled VBD VBN
+tear VB
+Emile NNP
+harmony NN
+agreements NNS
+emissions NNS
+growing JJ VBG NN
+drunken JJ
+disproportionate JJ
+cleaner JJR NN
+commission NN
+checks VBZ NNS
+pamphlets NNS
+compounded VBD VBN
+declaring VBG
+boot NN VB
+Gov. NNP
+Packwood NNP
+250,000 CD
+towels NNS
+Microsoft NNP
+Highland NNP
+elite JJ NN NNS
+discomfort NN
+prepares VBZ
+Continent NN NNP
+1992 CD
+transmitted JJ VBD VBN
+timetable NN
+toppled VBD VBN
+debris NN
+snakes VBZ NNS
+unpaid JJ
+capitalists NNS
+projects VBZ NNS
+grievance NN
+operates VBZ
+O.K. UH NNP
+coveted JJ VBN
+chin NN VB
+helpful JJ
+loans VBZ NNS
+57-year-old JJ NN
+produces VBZ
+employed VBD VBN
+ailing JJ VBG
+Marx NNP
+specifically RB
+Western-style JJ
+rates VBZ NNS
+payable JJ
+Twelve CD NNP
+strictly RB
+videos NNS
+boost VBP NN VB
+conceive VB
+dynamic JJ NN
+Blockbuster NNP
+flawed JJ VBN
+grid NN
+lawmakers NNS
+dealings NNS
+maximize VB
+venture-capital JJ NN
+staffers NNS
+reads VBZ
+Protection NN NNP
+1.30 CD
+container NN
+ballet NN
+month NN
+entrepreneurs NNS
+bored JJ VBD VBN
+publishes VBZ
+happiness NN
+monster NN
+slackened JJ VBD VBN
+boxcar NN
+starts VBP VBZ NNS
+banished VBN
+Quantum NNP
+King NN NNP
+Sarah NNP
+aired VBD VBN
+cried VBD VBN
+Section NN NNP
+Burnsides NNPS
+Ca JJ MD
+Lester NNP
+Fitzwater NNP
+asbestos NN
+tends VBZ
+5\/16 CD

@@ Diff output truncated at 100000 characters. @@

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.


More information about the fossology-commits mailing list