Showing preview only (6,415K chars total). Download the full file or copy to clipboard to get everything.
Repository: knowitall/ollie
Branch: master
Commit: e8fa07a1d9d2
Files: 85
Total size: 6.1 MB
Directory structure:
gitextract_28sxprec/
├── .dockerignore
├── .gitignore
├── .travis.yml
├── Dockerfile
├── LICENSE
├── README.md
├── app/
│ ├── pom.xml
│ └── src/
│ ├── main/
│ │ ├── resources/
│ │ │ └── logback.xml
│ │ └── scala/
│ │ └── edu/
│ │ └── knowitall/
│ │ ├── ollie/
│ │ │ ├── OllieCli.scala
│ │ │ └── SentenceIterator.scala
│ │ └── openparse/
│ │ ├── OpenParseCli.scala
│ │ ├── OpenParseGui.scala
│ │ └── gui/
│ │ ├── Dot.scala
│ │ ├── ExtractionEntry.scala
│ │ ├── Parser.scala
│ │ └── Sentence.scala
│ └── test/
│ └── resources/
│ └── logback-test.xml
├── core/
│ ├── build.sbt
│ ├── here.txt
│ ├── pom.xml
│ ├── project/
│ │ └── plugins.sbt
│ ├── scripts/
│ │ ├── applypatterns.sh
│ │ ├── build_templates.sh
│ │ ├── create_patterns.sh
│ │ ├── create_test_train.sh
│ │ ├── extractor.sh
│ │ └── keep_common_patterns.sh
│ └── src/
│ ├── main/
│ │ ├── resources/
│ │ │ └── edu/
│ │ │ └── knowitall/
│ │ │ ├── ollie/
│ │ │ │ ├── cognitiveWords.txt
│ │ │ │ ├── communicationWords.txt
│ │ │ │ ├── confidence/
│ │ │ │ │ └── default-classifier.txt
│ │ │ │ └── prefixWords.txt
│ │ │ └── openparse/
│ │ │ ├── categories/
│ │ │ │ ├── location.txt
│ │ │ │ └── person.txt
│ │ │ └── openparse.model
│ │ └── scala/
│ │ └── edu/
│ │ └── knowitall/
│ │ ├── common/
│ │ │ └── enrich/
│ │ │ └── Traversable.scala
│ │ ├── ollie/
│ │ │ ├── DependencyGraphExtras.scala
│ │ │ ├── NaryExtraction.scala
│ │ │ ├── Ollie.scala
│ │ │ ├── OllieExtraction.scala
│ │ │ ├── OllieExtractionInstance.scala
│ │ │ ├── ScoredOllieExtractionInstance.scala
│ │ │ ├── confidence/
│ │ │ │ ├── OllieConfidenceFunction.scala
│ │ │ │ ├── OllieFeatureEvaluation.scala
│ │ │ │ ├── OllieFeatureSet.scala
│ │ │ │ └── train/
│ │ │ │ ├── CrossValidateConfidence.scala
│ │ │ │ └── TrainOllieConfidence.scala
│ │ │ └── output/
│ │ │ └── BratOutput.scala
│ │ └── openparse/
│ │ ├── AnalyzePatterns.scala
│ │ ├── BuildPatterns.scala
│ │ ├── ExtractorPattern.scala
│ │ ├── GraphExpansions.scala
│ │ ├── OpenParse.scala
│ │ ├── bootstrap/
│ │ │ ├── FilterTargetExtractions.scala
│ │ │ ├── FindCommon.scala
│ │ │ ├── FindTargetArguments.scala
│ │ │ └── FindTargetExtractions.scala
│ │ ├── eval/
│ │ │ ├── GroupScoredBy.scala
│ │ │ ├── PrecisionYield.scala
│ │ │ ├── RankPatterns.scala
│ │ │ ├── Score.scala
│ │ │ └── StatisticalSignificance.scala
│ │ ├── extract/
│ │ │ ├── Extraction.scala
│ │ │ ├── GeneralExtractor.scala
│ │ │ ├── PatternExtractor.scala
│ │ │ ├── SpecificExtractor.scala
│ │ │ └── TemplateExtractor.scala
│ │ └── template/
│ │ ├── BuildTemplates.scala
│ │ ├── CountsToConfidence.scala
│ │ ├── GeneralizeTemplate.scala
│ │ └── PassiveReflections.scala
│ └── test/
│ ├── resources/
│ │ └── logback-test.xml
│ └── scala/
│ └── edu/
│ └── knowitall/
│ ├── common/
│ │ └── enrich/
│ │ └── TraversableSpecTest.scala
│ ├── ollie/
│ │ ├── DependencyGraphExtrasSpec.scala
│ │ └── confidence/
│ │ └── OllieFeatureSetSpec.scala
│ └── openparse/
│ ├── BuildPatternsSpec.scala
│ ├── ExtractorPatternSpec.scala
│ ├── OllieSpec.scala
│ ├── OpenParseSpec.scala
│ └── PatternExtractorSpec.scala
├── data/
│ └── training.tsv
├── example/
│ ├── pom.xml
│ └── src/
│ └── main/
│ ├── java/
│ │ └── example/
│ │ └── JavaOllieWrapper.java
│ ├── resouces/
│ │ └── logback.xml
│ └── scala/
│ └── ollie/
│ └── Example.scala
└── pom.xml
================================================
FILE CONTENTS
================================================
================================================
FILE: .dockerignore
================================================
Dockerfile
.dockerignore
.gitignore
.git
================================================
FILE: .gitignore
================================================
target
.cache
.classpath
.project
.settings
engmalt.linear.mco
================================================
FILE: .travis.yml
================================================
language: scala
scala:
- "2.9.2"
jdk:
- oraclejdk7
- openjdk7
================================================
FILE: Dockerfile
================================================
FROM maven:3.5.2-jdk-7
WORKDIR /stage
COPY ./ /stage/
RUN curl http://www.maltparser.org/mco/english_parser/engmalt.linear-1.7.mco > /stage/engmalt.linear-1.7.mco
RUN mvn clean package
CMD ["java", "-Xmx512m", "-jar", "ollie-app-1.0.1-SNAPSHOT.jar"]
================================================
FILE: LICENSE
================================================
Ollie Software License Agreement
Ollie Software
(C) 2011-2012, University of Washington. All rights reserved.
US patent number 7,877,343 and 12/970,155 patent pending
The University of Washington (UW), Professor Mausam, Michael Schmitz, Robert
Bart, and Stephen Soderland, (Developers) give permission for you and your
laboratory (University) to use Ollie. Ollie is a system that extracts
relational triples from text. Ollie is protected by a United States copyright
and patents. The National Science Foundation supported work on Ollie. Under
University of Washington's patents 7,877,343 (issued) and 12/970,155 (patent
pending), the UW grants to you the non-exclusive right to use patent claims
practiced by the University of Washington's Ollie software solely for
non-commercial purposes and as long as you comply with the terms of this Ollie
Software License Agreement. UW and the Developers allow you to copy and modify
Ollie for non-commercial purposes, and to distribute modifications through
GitHub or directly to the University of Washington, on the following
conditions:
1. Ollie is not used for any commercial purposes, or as part of a system
which has commercial purposes.
2. Any software derived from Ollie must carry prominent notices stating that
you modified it along with the date modified. The derivative must also carry
prominent notices stating that it is released under this Ollie Software
License Agreement
If you wish to obtain Ollie or to obtain any patent rights for any commercial
purposes, you will need to contact the University of Washington to see if
rights are available and to negotiate a commercial license and pay a fee. This
includes, but is not limited to, using Ollie to provide services to outside
parties for a fee. In that case please contact:
UW Center for Commercialization
University of Washington
4311 11th Ave. NE,
Suite 500 Seattle, WA 98105-4608
Phone: (206) 543-3970
Email: license@u.washington.edu
3. You retain in Ollie and any modifications to Ollie, the copyright,
trademark, patent or other notices pertaining to Ollie as provided by UW.
4. You provide the Developers with feedback on the use of the Ollie software
in your research, and that the Developers and UW are permitted to use any
information you provide in making changes to the Ollie software. All bug
reports and technical questions shall be sent to: afader@cs.washington.edu.
Modifications may be communicated through GitHub pull requests at:
https://github.com/knowitall/
5. You acknowledge that the Developers, UW and its licensees may develop
modifications to Ollie that may be substantially similar to your modifications
of Ollie, and that the Developers, UW and its licensees shall not be
constrained in any way by you in UW's or its licensees' use or management of
such modifications. You acknowledge the right of the Developers and UW to
prepare and publish modifications to Ollie that may be substantially similar
or functionally equivalent to your modifications and improvements, and if you
obtain patent protection for any modification or improvement to Ollie you
agree not to allege or enjoin infringement of your patent by the Developers,
the UW or by any of UW's licensees obtaining modifications or improvements to
Ollie from the University of Washington or the Developers.
6. If utilization of the Ollie software results in outcomes which will be
published, please specify the version of Ollie you used and cite the UW
Developers.
@inproceedings{ollie-emnlp12,
author = {Mausam and Michael Schmitz and Robert Bart and
Stephen Soderland and Oren Etzioni},
title = {Open Language Learning for Information Extraction},
booktitle = {Proceedings of Conference on Empirical Methods in
Natural Language Processing and Computational Natural
Language Learning (EMNLP-CONLL)},
year = {2012}
}
7. Any risk associated with using the Ollie software at your organization is
with you and your organization. Ollie is experimental in nature and is made
available as a research courtesy "AS IS," without obligation by UW to provide
accompanying services or support.
UW AND THE AUTHORS EXPRESSLY DISCLAIM ANY AND ALL WARRANTIES REGARDING THE
SOFTWARE, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES
PERTAINING TO MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
================================================
FILE: README.md
================================================
# Ollie
Ollie is a program that automatically identifies and extracts binary
relationships from English sentences. Ollie is designed for Web-scale
information extraction, where target relations are not specified in advance.
Ollie is our second-generation information extraction system . Whereas <a
href="http://reverb.cs.washington.edu/">ReVerb</a> operates on flat sequences
of tokens, Ollie works with the tree-like (graph with only small cycles)
representation using Stanford's compression of the dependencies. This allows
Ollie to capture expression that ReVerb misses, such as long-range relations.
Ollie also captures context that modifies a binary relation. Presently Ollie
handles attribution (He said/she believes) and enabling conditions (if X
then).
## Quick Start
### Docker
You can now run Ollie with a single Docker command.
```
docker run -it schmmd/ollie:latest
```
To configure Ollie, you can drop into a bash shell with `docker run -it schmmd/ollie:latest /bin/bash`
and run Ollie from the command line.
### Local Machine
If you want to run Ollie on a small amount of text without modifying the source
code, you can use an executable file that can be run from the command line.
Please note that Ollie was built using Scala 2.9 and so it requires Java 7.
Follow these steps to get started:
1. Download the latest Ollie binary from
http://knowitall.cs.washington.edu/ollie/ollie-app-latest.jar.
2. Download the linear English MaltParser model (engmalt.linear-1.7.mco) from
http://www.maltparser.org/mco/english_parser/engmalt.html
and place it in the same directory as Ollie.
3. Run `java -Xmx512m -jar ollie-app-latest.jar yourfile.txt`. The input file
should contain one sentence per line unless `--split` is specified. Omit
the input file for an interactive console.
## Examples
### Enabling Condition
An enabling condition is a condition that needs to be met for the extraction to
be true. Certain words demark an enabling condition, such as "if" and "when".
Ollie captures enabling conditions if they are present.
sentence: If I slept past noon, I'd be late for work.
extraction: (I; 'd be late for; work)[enabler=If I slept past noon]
### Attribution
An attribution clause specifies an entity that asserted an extraction and a
verb that specifies the expression. Ollie captures attributions if they are
present.
sentence: Some people say Barack Obama was not born in the United States.
extraction: (Barack Obama; was not born in; the United States)[attrib=Some people say]
sentence: Early astronomers believe that the earth is the center of the universe.
extraction: (the earth; is the center of; the universe)[attrib=Early astronomers believe]
### Relational noun
Some relations are expressed without verbs. Ollie can capture these as well as
verb-mediated relations.
sentence: Microsoft co-founder Bill Gates spoke at a conference on Monday.
extraction: (Bill Gates; be co-founder of; Microsoft)
### N-ary extractions
Often times similar relations will specify different aspects of the same event.
Since Ollie captures long-range relations it can capture N-ary extractions by
collapsing extractions where the relation phrase only differs by the
preposition.
sentence: I learned that the 2012 Sasquatch music festival is scheduled for May 25th until May 28th.
extraction: (the 2012 Sasquatch music festival; is scheduled for; May 25th)
extraction: (the 2012 Sasquatch music festival; is scheduled until; May 28th)
nary: (the 2012 Sasquatch music festival; is scheduled; [for May 25th; to May 28th])
## Building
Building Ollie from source requires Apache Maven (<http://maven.apache.org>).
First, clone or download the Ollie source from GitHub. Run this command in the
top-level source folder to download the required dependencies, compile, and
create a single jar file.
mvn clean package
The compiled class files will be put in the base directory. The single
executable jar file will be written to `ollie-app-VERSION.jar` where `VERSION`
is the version number.
## Command Line Interface
Once you have built Ollie, you can run it from the command line.
java -Xmx512m -jar ollie-app-VERSION.jar yourfile.txt
Omit the input file for an interactive console.
Ollie takes sentences, one-per-line as input or splits text into sentences if
`--split` is specified. Run Ollie with `--usage` to see full usage.
The Ollie command line tool has a few output formats. The output format is
specified by `--output-format` and a valid format:
1. The `interactive` format that is meant to be easily human readable.
2. The `tabbed` format is mean to be easily parsable. A header will be output
as the first row to label the columns.
3. `tabbedsingle` is similar to `tabbed` but the extraction is output as (arg1; relation;
arg2) in a single column.
4. The `serialized` is meant to be fully deserialized into an
`OllieExtractionInstance` class.
## Graphical Interface
Ollie works ontop of a subcomponent called OpenParse. The distinction is
largely technical; OpenParse does not handle attribution and enabling condition
and uses a coarser confidence metric. You can use a GUI application to
visualize the OpenParse extractions in a parse tree. To use it, you will need
to have [graphviz](http://www.graphviz.org/) installed. You can run the GUI
with:
java -Xms512M -Xmx1g -cp ollie-app-VERSION.jar edu.knowitall.openparse.OpenParseGui
By default, this application will look for graphviz's `dot` program at
`/usr/bin/dot`. You can specify a location with the `--graphviz` parameter.
You can try out your own models with `Options->Load Model...`. To see an
example model, look at `openparse.model` in `src/main/resources`. Your model
may have one or more patterns in it. If you want to see pattern matches
(without node expansion) instead of triple extractions, you can choose to show
the raw match with `Options->Raw Matches`. This will allow you to use patterns
that do not capture an arg1, rel, and arg2.
## Parsers
Ollie is packaged to use Malt Parser, one of the fastest dependency parsers
available. You will need the model file (`engmalt.linear-1.7.mco`) in the
directory the application is run from or you will need to specify its location
with the `--malt-model` parameter. Malt Parser models are available online.
http://www.maltparser.org/mco/english_parser/engmalt.html
Ollie works with any other parser in the `nlptools` project. For example, it
is easy to swap out Malt for Stanford's parser. Stanford's parser is not a
part of the Ollie distribution by default because of licensing conflicts, but
the Stanford parser was used as the execution parser for the results in the
paper. Malt Parser was used to bootstrap the patterns. We are interested
in Clear parser as an alternative, but it's not a trivial change because Clear
uses a slightly different dependency representation.
## Using Eclipse
To modify the Ollie source code in Eclipse, use the [M2Eclipse
plugin](http://www.sonatype.org/m2eclipse/) along with
[ScalaIDE](http://scala-ide.org/). You can then import the project using
the following.
File > Import > Existing Maven Projects
## Including Ollie as a Dependency
Add the following as a Maven dependency.
<groupId>edu.washington.cs.knowitall.ollie</groupId>
<artifactId>ollie-core_2.9.2</artifactId>
<version>[1.0.0, )</version>
The best way to find the latest version is to browse [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22edu.washington.cs.knowitall%22).
`ollie-core` does not include a way to parse sentences. You will need to use a
parser supplied by the [nlptools](https://github.com/knowitall/nlptools)
project. The source for for `ollie-app` is an excellent example of a project
using `ollie-core` as a dependency. `ollie-app` supplies a parser from
[nlptools](https://github.com/knowitall/nlptools).
There is an example project that uses Ollie in the `example` folder of the
source distribution.
## Training the Confidence Function
While Ollie comes with a trained confidence function, it is possible to retrain
the confidence function. First, you need to run Ollie over a set of sentences
and store the output in the *serialized* format.
echo "Michael rolled down the hill." | java -jar ollie-app-1.0.0-SNAPSHOT.jar --serialized --output toannotate.tsv
Next you need to annotate the extractions. Modify the output file and
**change** the first column to a binary annotation--`1` for correct and `0` for
wrong. Your final file will look similar to `ollie/data/training.tsv`. Now
run the logistic regression trainer.
java -cp ollie-app-1.0.0-SNAPSHOT.jar edu.washington.cs.knowitall.ollie.confidence.train.TrainOllieConfidence toannotate.tsv
## Concurrency
When operating at web scale, parallelism is essential. While the base Ollie
extractor is immutable and thread safe, the parser may not be thread safe. I
do not know whether Malt parser is thread safe.
## FAQ
1. How fast is Ollie?
You should really benchmark Ollie yourself, but on my computer (a new computer in 2011), Ollie processed 5000 high-quality web sentences in 56 seconds, or 89 sentences per second, in a single thread. Ollie is easily parallelizable and the Ollie extractor itself is threadsafe (see Concurrency section).
## Contact
To contact the UW about Ollie, email knowit-ollie@cs.washington.edu.
## Citing Ollie
If you use Ollie in your academic work, please cite Ollie with the following
BibTeX citation:
@inproceedings{ollie-emnlp12,
author = {Mausam and Michael Schmitz and Robert Bart and Stephen Soderland and Oren Etzioni},
title = {Open Language Learning for Information Extraction},
booktitle = {Proceedings of Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP-CONLL)},
year = {2012}
}
================================================
FILE: app/pom.xml
================================================
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>edu.washington.cs.knowitall.ollie</groupId>
<artifactId>ollie-app</artifactId>
<name>ollie-app</name>
<version>1.0.1-SNAPSHOT</version>
<parent>
<groupId>edu.washington.cs.knowitall</groupId>
<artifactId>knowitall-oss</artifactId>
<version>1.0.2</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<nlptools.version>2.4.0</nlptools.version>
</properties>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-swing</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>edu.washington.cs.knowitall.ollie</groupId>
<artifactId>ollie-core_2.9.2</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>edu.washington.cs.knowitall.nlptools</groupId>
<artifactId>nlptools-parse-malt_2.9.2</artifactId>
<version>${nlptools.version}</version>
</dependency>
<dependency>
<groupId>edu.washington.cs.knowitall.nlptools</groupId>
<artifactId>nlptools-parse-stanford_2.9.2</artifactId>
<version>${nlptools.version}</version>
</dependency>
<dependency>
<groupId>edu.washington.cs.knowitall.nlptools</groupId>
<artifactId>nlptools-sentence-opennlp_2.9.2</artifactId>
<version>${nlptools.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>batik</groupId>
<artifactId>batik-swing</artifactId>
<version>1.6-1</version>
</dependency>
<dependency>
<groupId>org.specs2</groupId>
<artifactId>specs2_2.9.2</artifactId>
<version>1.12.3</version>
<scope>test</scope>
</dependency>
<!-- Logging -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.9</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<!-- build scala code -->
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<args>
<arg>-deprecation</arg>
<arg>-unchecked</arg>
</args>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/../..</outputDirectory>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>edu.knowitall.ollie.OllieCli</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>distro-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
================================================
FILE: app/src/main/resources/logback.xml
================================================
<?xml version="1.0"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
================================================
FILE: app/src/main/scala/edu/knowitall/ollie/OllieCli.scala
================================================
package edu.knowitall.ollie;
import java.io.File
import java.io.PrintWriter
import java.io.OutputStreamWriter
import java.nio.charset.MalformedInputException
import scala.io.Source
import edu.knowitall.common.Resource.using
import edu.knowitall.ollie.confidence.OllieConfidenceFunction
import edu.knowitall.openparse.OpenParse
import edu.knowitall.tool.parse.MaltParser
import scopt.OptionParser
import edu.knowitall.tool.segment.Segmenter
import edu.knowitall.common.Timing
import edu.knowitall.tool.sentence.OpenNlpSentencer
import java.text.DecimalFormat
import java.net.URL
import edu.knowitall.tool.parse.graph.DependencyGraph
import edu.knowitall.ollie.confidence.OllieFeatureSet
/**
* An entry point to use Ollie on the command line.
*/
object OllieCli {
/** A definition of command line arguments. */
abstract class Settings {
def inputFiles: Option[Seq[File]]
def outputFile: Option[File]
def encoding: String
def modelUrl: URL
def confidenceModelUrl: Option[URL]
def confidenceThreshold: Double
def openparseConfidenceThreshold: Double
def maltModelFile: Option[File]
def parseInput: Boolean
def splitInput: Boolean
def outputFormat: OutputFormat
def parallel: Boolean
def invincible: Boolean
}
sealed abstract class OutputFormat {
def header: Option[String]
def format(conf: Double, extr: OllieExtractionInstance): String
}
object OutputFormat {
val confFormatter = new DecimalFormat("#.###")
def parse(format: String): OutputFormat = {
format.toLowerCase match {
case "interactive" => InteractiveFormat
case "tabbed" => TabbedFormat
case "tabbedsingle" => TabbedSingleColumnFormat
case "serialized" => SerializedFormat
}
}
}
case object InteractiveFormat extends OutputFormat {
def header = None
def format(conf: Double, inst: OllieExtractionInstance): String =
OutputFormat.confFormatter.format(conf) + ": " + inst.extr
}
case object TabbedFormat extends OutputFormat {
def headers = Seq("confidence", "arg1", "rel", "arg2", "enabler", "attribution", "text", "pattern", "dependencies")
def header = Some(headers.mkString("\t"))
def format(conf: Double, inst: OllieExtractionInstance): String =
Iterable(OutputFormat.confFormatter.format(conf),
inst.extr.arg1.text,
inst.extr.rel.text,
inst.extr.arg2.text,
inst.extr.enabler.map(_.text),
inst.extr.attribution.map(_.text),
inst.sent.text,
inst.pat,
inst.sent.serialize).mkString("\t")
}
case object TabbedSingleColumnFormat extends OutputFormat {
def headers = Seq("confidence", "extraction", "enabler", "attribution", "text", "pattern", "dependencies")
def header = Some(headers.mkString("\t"))
def format(conf: Double, inst: OllieExtractionInstance): String =
Iterable(OutputFormat.confFormatter.format(conf),
inst.extr.toString,
inst.extr.enabler.map(_.text),
inst.extr.attribution.map(_.text),
inst.sent.text,
inst.pat,
inst.sent.serialize).mkString("\t")
}
case object SerializedFormat extends OutputFormat {
def header = None
def format(conf: Double, inst: OllieExtractionInstance): String =
OutputFormat.confFormatter.format(conf) + "\t" + inst.extr.toString + "\t" + inst.tabSerialize
}
/** Size to group for parallelism. */
private val CHUNK_SIZE = 10000
def main(args: Array[String]): Unit = {
object settings extends Settings {
var inputFiles: Option[Seq[File]] = None
var outputFile: Option[File] = None
var encoding: String = "UTF-8"
var modelUrl: URL = OpenParse.defaultModelUrl
var confidenceModelUrl: Option[URL] = Some(OllieConfidenceFunction.defaultModelUrl)
var confidenceThreshold: Double = 0.0
var openparseConfidenceThreshold: Double = 0.005
var maltModelFile: Option[File] = None
var parseInput: Boolean = true
var splitInput: Boolean = false
var outputFormat: OutputFormat = InteractiveFormat
var parallel: Boolean = false
var invincible: Boolean = false
var showUsage: Boolean = false
}
// define the argument parser
val argumentParser = new OptionParser("ollie") {
arglistOpt("<file>", "input text file (one sentence per line unless --split is specified)", { path: String =>
val file = new File(path)
require(file.exists, "file does not exist: " + file)
settings.inputFiles = Some(settings.inputFiles.getOrElse(Vector.empty) :+ file)
})
opt(Some("o"), "output", "<file>", "output file (otherwise stdout)", { path: String =>
settings.outputFile = Some(new File(path))
})
opt(Some("e"), "encoding", "<encoding>", "character encoding (UTF8 by default)", { encoding: String =>
settings.encoding = encoding
})
opt(Some("m"), "model", "<file>", "model file", { path: String =>
val file = new File(path)
require(file.exists, "file does not exist: " + path)
settings.modelUrl = file.toURI.toURL
})
opt(Some("c"), "confidence model", "<file>", "model file", { path: String =>
if (path equalsIgnoreCase "None") {
settings.confidenceModelUrl = None
} else {
val file = new File(path)
require(file.exists, "file does not exist: " + path)
settings.confidenceModelUrl = Some(file.toURI.toURL)
}
})
opt(None, "malt-model", "<file>", "malt model file", { path: String =>
settings.maltModelFile = Some(new File(path))
})
opt("h", "help", "usage information", { settings.showUsage = true })
doubleOpt(Some("t"), "threshold", "<double>", "confidence threshold for Ollie extractor", { t: Double =>
settings.confidenceThreshold = t
})
doubleOpt(None, "openparse-threshold", "<double>", "confidence threshold for OpenParse component", { t: Double =>
settings.openparseConfidenceThreshold = t
})
opt("p", "parallel", "execute in parallel", { settings.parallel = true })
opt("s", "split", "split text into sentences", { settings.splitInput = true })
opt("dependencies", "input is serialized dependency graphs (don't parse)", { settings.parseInput = false })
opt("output-format", "specify output format from {interactive, tabbed, tabbedsingle, serialized}", { s: String => settings.outputFormat = OutputFormat.parse(s) })
opt("ignore-errors", "ignore errors", { settings.invincible = true })
opt("usage", "this usage message", { settings.showUsage = true })
}
if (argumentParser.parse(args)) {
require(!(settings.splitInput && !settings.parseInput), "options 'split' and 'dependencies' are not compatible.")
if (settings.showUsage) {
println()
println("Ollie takes sentences as input, one per line.")
println("The response is \"confidence: extraction\", one extraction per line.")
println(argumentParser.usage)
} else {
try {
run(settings)
}
catch {
case e: MalformedInputException =>
System.err.println("\nError: a MalformedInputException was thrown.\nThis usually means there is a mismatch between what Ollie expects and the input file. Try changing the input file's character encoding to UTF-8 or specifying the correct character encoding for the input file with '--encoding'.\n")
e.printStackTrace()
}
}
}
}
def run(settings: Settings) = {
System.err.println("Loading parser models... ")
val parser = Timing.timeThen {
if (settings.parseInput) {
settings.maltModelFile match {
case None => Some(new MaltParser())
case Some(file) => Some(new MaltParser(file))
}
} else None
} { ns =>
System.err.println(Timing.Seconds.format(ns))
}
System.err.print("Loading ollie models... ")
val ollieExtractor = Timing.timeThen {
val configuration =
new OpenParse.Configuration(
confidenceThreshold = settings.openparseConfidenceThreshold)
val openparse = OpenParse.fromModelUrl(settings.modelUrl, configuration)
new Ollie(openparse)
} { ns =>
System.err.println(Timing.Seconds.format(ns))
}
System.err.print("Loading ollie confidence function... ")
val confFunction = Timing.timeThen {
settings.confidenceModelUrl.map(url => OllieConfidenceFunction.fromUrl(OllieFeatureSet, url))
} { ns =>
System.err.println(Timing.Seconds.format(ns))
}
val sentencer = if (settings.splitInput) {
System.err.println("Prose input split by OpenNlpSentencer.");
Some(new OpenNlpSentencer())
} else {
if (settings.inputFiles.isDefined) {
System.err.println()
System.err.println("WARNING: Each line is expected to be a unique sentence.")
System.err.println("If you want prose to be split into sentences, restart Ollie with --prose.")
}
None
}
using(settings.outputFile match {
case Some(output) => new PrintWriter(output, settings.encoding)
case None => new PrintWriter(new OutputStreamWriter(System.out, settings.encoding))
}) { writer =>
// print headers for output
settings.outputFormat.header match {
case Some(header) => writer.println(header)
case None =>
}
// process a source and output extractions
def processSource(source: Source) {
val ns = Timing.time {
// print prompt if standard input
if (!settings.inputFiles.isDefined) {
System.out.print("> ")
System.out.flush()
}
val lines = parseLines(source.getLines, sentencer) filter (!_.isEmpty)
// group the lines so we can parallelize
val grouped = if (settings.parallel) lines.grouped(CHUNK_SIZE) else lines.map(Seq(_))
for (group <- grouped) {
// potentially transform to a parallel collection
val sentences = if (settings.parallel) group.par else group
for (sentence <- sentences) {
try {
if (settings.outputFormat == InteractiveFormat) {
writer.println(sentence)
writer.flush()
}
// parse the sentence
val graph =
parser.map(_.dependencyGraph(sentence)).getOrElse(DependencyGraph.deserialize(sentence))
// extract sentence and compute confidence
val extrs = ollieExtractor.extract(graph).iterator.map(extr => (confFunction.map(_.getConf(extr)).getOrElse(0.0), extr))
extrs match {
case it if it.isEmpty && settings.outputFormat == InteractiveFormat => writer.println("No extractions found.")
case it if it.isEmpty =>
case extrs => (extrs filter (_._1 >= settings.confidenceThreshold)).toList.sortBy(-_._1).foreach {
case (conf, e) =>
writer.println(settings.outputFormat.format(conf, e))
writer.flush()
}
}
if (settings.outputFormat == InteractiveFormat) {
writer.println()
writer.flush()
}
} catch {
case e: Exception if settings.invincible => e.printStackTrace
}
}
// print prompt if standard input
if (!settings.inputFiles.isDefined) {
System.out.print("> ")
System.out.flush()
}
}
}
System.err.println()
System.err.println("Completed in " + Timing.Seconds.format(ns) + " seconds")
}
settings.inputFiles match {
// single file
case Some(Seq(file)) =>
System.err.println("\nRunning extractor on " + file + "...")
using (Source.fromFile(file, settings.encoding)) { source =>
processSource(source)
}
// multiple files
case Some(files) =>
System.err.println("\nRunning extractor on multiple files...")
val ns = Timing.time {
for ((file, i) <- files.iterator.zipWithIndex) {
System.err.println("Processing file " + file + " (" + (i+1) + "/" + files.size + ")...")
System.err.println()
using(Source.fromFile(file, settings.encoding)) { source =>
processSource(source)
}
}
}
System.err.println("All files completed in " + Timing.Seconds.format(ns) + " seconds")
// standard input
case None =>
System.err.println("\nRunning extractor on standard input...")
processSource(Source.fromInputStream(System.in, settings.encoding))
}
}
}
def parseLines(lines: Iterator[String], sentencer: Option[Segmenter]) = {
sentencer match {
case None => lines
case Some(sentencer) => new SentenceIterator(sentencer, lines.buffered)
}
}
}
================================================
FILE: app/src/main/scala/edu/knowitall/ollie/SentenceIterator.scala
================================================
package edu.knowitall.ollie
import edu.knowitall.tool.segment.Segmenter
class SentenceIterator(sentencer: Segmenter, private var lines: BufferedIterator[String]) extends Iterator[String] {
var sentences: Iterator[String] = Iterator.empty
lines.dropWhile(_.trim.isEmpty)
def nextSentences = {
val (paragraph, rest) = lines.span(!_.trim.isEmpty)
lines = rest.dropWhile(_.trim.isEmpty).buffered
sentencer.segmentTexts(paragraph.mkString(" ")).iterator.buffered
}
def hasNext: Boolean = {
if (sentences.hasNext) {
true
}
else if (!lines.hasNext) {
false
}
else {
sentences = nextSentences
sentences.hasNext
}
}
def next: String = {
if (sentences.hasNext) {
sentences.next()
}
else {
sentences = nextSentences
sentences.next()
}
}
}
================================================
FILE: app/src/main/scala/edu/knowitall/openparse/OpenParseCli.scala
================================================
package edu.knowitall.openparse
import java.io.{PrintWriter, File}
import java.net.URL
import scala.collection.Set
import scala.io.Source
import org.slf4j.LoggerFactory
import edu.knowitall.collection.immutable.graph.pattern.Match
import edu.knowitall.collection.immutable.graph.Graph
import edu.knowitall.common.Resource.using
import edu.knowitall.common.Timing
import edu.knowitall.tool.parse.MaltParser
import edu.knowitall.openparse.OpenParse.validMatch
import edu.knowitall.openparse.extract.{TemplateExtractor, PatternExtractorType, PatternExtractor, GeneralExtractor, Extraction, DetailedExtraction}
import edu.knowitall.tool.parse.graph.{DependencyNode, DependencyGraph}
import scopt.OptionParser
object OpenParseCli {
val logger = LoggerFactory.getLogger(this.getClass)
abstract class Settings {
def modelUrl: URL
def outputFile: Option[File]
def sentenceFile: File
def confidenceThreshold: Double
def expandArguments: Boolean
def verbose: Boolean
def parallel: Boolean
def invincible: Boolean
}
def main(args: Array[String]) {
object settings extends Settings {
var modelUrl: URL = OpenParse.defaultModelUrl
var outputFile: Option[File] = None
var sentenceFile: File = null
var confidenceThreshold = 0.0;
var expandArguments: Boolean = true
var verbose: Boolean = false
var parallel: Boolean = false
var invincible: Boolean = false
}
val parser = new OptionParser("openparse-cli") {
arg("sentences", "sentence file", { path: String =>
val file = new File(path)
require(file.exists, "file does not exist: " + path)
settings.sentenceFile = file
})
opt(Some("m"), "model", "<file>", "model file", { path: String =>
val file = new File(path)
require(file.exists, "file does not exist: " + path)
settings.modelUrl = file.toURI.toURL
})
doubleOpt(Some("t"), "threshold", "<threshold>", "confident threshold for shown extractions", { t: Double => settings.confidenceThreshold = t })
opt("o", "output", "output file (otherwise stdout)", { path => settings.outputFile = Some(new File(path)) })
opt("x", "expand-arguments", "expand extraction arguments", { settings.expandArguments = true })
opt("v", "verbose", "", { settings.verbose = true })
opt("p", "parallel", "", { settings.parallel = true })
opt("invincible", "", { settings.invincible = true })
}
if (parser.parse(args)) {
logger.info("args: " + args.mkString(" "))
run(settings)
}
}
def run(settings: Settings) {
val parser = new MaltParser
def parse(line: String): Option[DependencyGraph] = {
Some(parser.dependencyGraph(line))
}
val other = new OpenParse.Settings {
var modelUrl = settings.modelUrl
var outputFile = settings.outputFile
var sentenceFile = settings.sentenceFile
var confidenceThreshold = settings.confidenceThreshold
val duplicates = false
var expandArguments = settings.expandArguments
val showAll = false
var verbose = settings.verbose
val collapseVB = false
var parallel = settings.parallel
var invincible = settings.invincible
}
OpenParse.run(other, parse)
}
}
================================================
FILE: app/src/main/scala/edu/knowitall/openparse/OpenParseGui.scala
================================================
package edu.knowitall.openparse
import java.awt.Cursor
import java.awt.Dimension
import java.io.File
import java.net.URL
import scala.collection.SortedSet
import scala.io.Source
import scala.swing.Action
import scala.swing.BorderPanel
import scala.swing.BorderPanel.Position.Center
import scala.swing.BorderPanel.Position.East
import scala.swing.BorderPanel.Position.North
import scala.swing.BoxPanel
import scala.swing.Button
import scala.swing.ButtonGroup
import scala.swing.CheckMenuItem
import scala.swing.Component
import scala.swing.Dialog
import scala.swing.FileChooser
import scala.swing.FileChooser.Result
import scala.swing.Label
import scala.swing.ListView
import scala.swing.MainFrame
import scala.swing.Menu
import scala.swing.MenuBar
import scala.swing.MenuItem
import scala.swing.Orientation
import scala.swing.RadioMenuItem
import scala.swing.ScrollPane
import scala.swing.Separator
import scala.swing.SimpleSwingApplication
import scala.swing.Slider
import scala.swing.Swing
import scala.swing.TextField
import scala.swing.event.ButtonClicked
import scala.swing.event.SelectionChanged
import scala.swing.event.ValueChanged
import scala.util.control.Exception.catching
import org.apache.batik.swing.JSVGCanvas
import org.apache.batik.swing.svg.JSVGComponent
import edu.knowitall.common.Resource.using
import edu.knowitall.common.Timing.Seconds
import edu.knowitall.common.Timing.time
import edu.knowitall.openparse.eval.Score
import edu.knowitall.openparse.extract.Extraction
import edu.knowitall.openparse.extract.PatternExtractorType
import edu.knowitall.openparse.gui.Dot
import edu.knowitall.openparse.gui.ExtractionEntry
import edu.knowitall.openparse.gui.Parser
import edu.knowitall.openparse.gui.Parser.ParserEnum
import edu.knowitall.openparse.gui.Sentence
import edu.knowitall.tool.parse.DependencyParser
import edu.knowitall.tool.parse.graph.DependencyGraph
import edu.knowitall.tool.parse.graph.DependencyGraph.SerializationException
import edu.knowitall.tool.parse.graph.DependencyGraph.deserialize
import edu.knowitall.tool.parse.graph.DependencyNode
import scopt.OptionParser
import edu.knowitall.ollie.DependencyGraphExtras
import scala.swing.event.KeyPressed
import scala.swing.event.Key
import scala.swing.event.KeyReleased
import edu.knowitall.openparse.eval.GoldSet
object OpenParseGui extends SimpleSwingApplication {
/** Which parser we are using. */
var parser: Option[(Parser.ParserEnum, DependencyParser)] = None
/** Which extractor we are using. */
var extractor: Option[OpenParse] = None
/** Which graph is presently being used. */
var current: Option[DependencyGraph] = None
/** A gold set of annotations. */
var gold: Map[String, Boolean] = Map.empty
/** Which sentences are associated with the slider bar. */
var sentences: Seq[Sentence] = Seq.empty
/** The present sentence index. */
var sentenceIndex = 0;
/** What to perform on a node click in the graph. */
var nodeClickEvent: String=>Unit = (nodeText: String) => Unit
object Settings {
var rawMatches = false
var graphvizFile: Option[File] = None // use PATH by default
var modelUrl: URL = OpenParse.defaultModelUrl
var sentenceFile: Option[File] = None
var confidenceThreshold: Double = 0.0
var goldFile: Option[File] = None
def configuration = new OpenParse.Configuration(confidenceThreshold = this.confidenceThreshold, collapseGraph = false)
}
object Elements {
val scrollBar = new Slider() {
orientation = Orientation.Horizontal
value = 0
min = 0
max = 0
majorTickSpacing = 1
enabled = false
def adjust() = {
if (sentences.size > 1) {
min = 0
max = sentences.size - 1
this.enabled = true
} else {
value = 0
min = 0
max = 0
this.enabled = false
}
}
}
}
override def main(args: Array[String]) = {
val parser = new OptionParser("openparse-gui") {
opt(Some("i"), "input", "<file>", "input file", { v: String => Settings.sentenceFile = Some(new File(v)) })
opt(Some("m"), "model", "<file>", "model file", { v: String => Settings.modelUrl = new File(v).toURI.toURL })
doubleOpt(Some("t"), "threshold", "<threshold>", "confident threshold for shown extractions", {
t: Double => Settings.confidenceThreshold = t
})
opt(Some("g"), "gold", "<gold set>", "gold set", { v: String => Settings.goldFile = Some(new File(v)) })
opt(None, "graphviz", "<file>", "path to graphviz", { v: String => Settings.graphvizFile = Some(new File(v)) })
}
if (parser.parse(args)) {
extractor = Some(OpenParse.fromModelUrl(Settings.modelUrl, Settings.configuration))
Settings.goldFile.foreach { goldFile =>
gold = GoldSet.load(goldFile)
}
Settings.sentenceFile.foreach { sentenceFile => loadSentences(sentenceFile) }
super.main(args)
}
}
/** Helper to pop up a dialog to find a file. */
def choose(default: Option[File] = None): Option[File] = {
import FileChooser.Result
val chooser = new FileChooser
default.map(chooser.selectedFile = _)
chooser.showOpenDialog(null) match {
case Result.Approve => Option(chooser.selectedFile)
case Result.Cancel | Result.Error => None
}
}
def chooseSave(default: Option[File] = None): Option[File] = {
import FileChooser.Result
val chooser = new FileChooser
default.map(chooser.selectedFile = _)
chooser.showSaveDialog(null) match {
case Result.Approve => Option(chooser.selectedFile)
case Result.Cancel | Result.Error => None
}
}
def loadParser(parserType: ParserEnum): Unit =
parser = Some(Parser.load(parserType))
def loadParserIfNone(): Unit = parser match {
case Some(parser) => // nothing
case None => loadParser(Parser.default)
}
def readSentences(file: File): Array[Sentence] = {
import DependencyGraph._
// read the sentences
using (Source.fromFile(file)) { source =>
val lines = source.getLines.buffered
val parts = lines.head.split("\t")
// check if any part is deserializable
val graphIndex = parts.iterator.indexWhere { column =>
catching(classOf[SerializationException]).opt {
deserialize(column).collapse
}.isDefined
}
lines.map { line =>
val parts = line.split("\t")
if (graphIndex != -1) {
Sentence.Graph(deserialize(parts(graphIndex)).collapse)
}
else {
Sentence.Text(parts(0))
}
}.toArray
}
}
def loadSentences(): Boolean = {
choose(Settings.sentenceFile) map { file =>
Settings.sentenceFile = Some(file)
loadSentences(Settings.sentenceFile.get)
} match {
case Some(_) => true
case None => false
}
}
def loadSentences(file: File) = {
this.sentences = readSentences(file)
sentenceIndex = 0
Elements.scrollBar.value = 0
Elements.scrollBar.adjust()
}
def loadExtractor(extractorType: Option[PatternExtractorType]) = {
extractor = None
}
def top: MainFrame = new MainFrame {
title = "OpenParse Explorer"
minimumSize = new Dimension(400, 200)
// helper methods
def withCursor(c: java.awt.Cursor)(block: => Unit) =
try {
cursor = c
block
} finally {
cursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)
}
def withWaitCursor =
withCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)) _
def orReport(block: =>Unit) =
try {
block
}
catch {
case e => e.printStackTrace; Dialog.showMessage(message = e.toString)
}
def andReport(block: =>Unit) =
try {
block
}
catch {
case e => Dialog.showMessage(message = e.toString); throw e
}
// important ui elements
val button = new Button {
text = "Process"
}
val field = new TextField
val extractionList = new ListView[ExtractionEntry]() {
listenTo(keys)
reactions += {
case KeyPressed(_, Key.Equals, _, _) if this.selection.items.size > 0 =>
val selection = this.selection.items(0)
val item = selection.toString.dropWhile(_ != '(')
gold += item -> true
this.listData = this.listData.map {
case item if item == selection => item.annotate(true)
case other => other
}
case KeyReleased(_, Key.Minus, _, _) if this.selection.items.size > 0 =>
val selection = this.selection.items(0)
val item = selection.toString.dropWhile(_ != '(')
gold += item -> false
this.listData = this.listData.map {
case item if item == selection => item.annotate(false)
case other => other
}
case KeyReleased(_, Key.Space, _, _) if this.selection.items.size > 0 =>
val selection = this.selection.items(0)
val item = selection.toString.dropWhile(_ != '(')
gold += item -> false
this.listData = this.listData.map {
case item if item == selection => item.unannotate
case other => other
}
}
}
val label = new Label()
this.defaultButton = button
def updateDocument(dgraph: DependencyGraph, dot: String) {
val svg = Dot.dot2svg(Settings.graphvizFile, dot)
val doc = Dot.svg2xml(svg, nodeClickEvent)
canvas.setDocument(doc)
OpenParseGui.current = Some(dgraph)
}
def updateDocument(dgraph: DependencyGraph, extr: ExtractionEntry) {
val entry = extractionList.selection.items(0)
val dot = Dot.dotgraph(dgraph, entry)
updateDocument(dgraph, dot)
}
def updateDocument(dgraph: DependencyGraph, nodes: Set[DependencyNode]) {
val dot = Dot.dotgraph(dgraph, nodes)
updateDocument(dgraph, dot)
}
def updateDocument(dgraph: DependencyGraph) {
updateDocument(Sentence.Graph(dgraph))
}
def updateDocument(sentence: Sentence) {
field.text = sentence.toString
val (parseTime, dgraph) = time(parse(sentence))
val (extractTime, extractions) = time(extract(dgraph))
extractionList.listData = extractions
val dot = dgraph.dot("\\n"+dgraph.text)
updateDocument(dgraph, dot)
label.text = sentence match {
case Sentence.Graph(_) => "Input contains dependency graph. Sentence will not be reparsed."
case Sentence.Text(_) =>
parser.map("Parsed using '"+_._2.getClass.getSimpleName+"' in "+Seconds.format(parseTime)+". ").getOrElse {
"No parsers selected."
} +
"Extracted in "+Seconds.format(extractTime)+"."
}
}
val canvas = new JSVGCanvas
canvas.setDocumentState(JSVGComponent.ALWAYS_DYNAMIC)
// menu definition
def menu = {
def parserMenuItem(parserType: ParserEnum) = {
new RadioMenuItem(parserType.toString) {
this.selected = Parser.default == parserType
action = Action(this.text) {
withWaitCursor {
andReport {
loadParser(parserType)
this.selected = true
}
}
}
}
}
def expandMenuItem(display: String, expand: (DependencyGraph,DependencyNode)=>SortedSet[DependencyNode]) = {
new RadioMenuItem(display) {
action = Action(display) {
nodeClickEvent = (nodeText: String) => {
current.map { dgraph =>
withWaitCursor {
dgraph.nodes.find(_.toFullString.startsWith(nodeText)) match {
case Some(node) => updateDocument(dgraph, expand(dgraph, node).toSet)
case None => System.err.println("error: node not found: " + nodeText)
}
}
}
}
}
}
}
new MenuBar {
val parserOptions = Parser.values.map(parserMenuItem(_)).toList
val expandOptions =
List(expandMenuItem("Expand Argument", (dgraph: DependencyGraph, node: DependencyNode)=>
Extraction.expandArgument(dgraph, node, Set())),
expandMenuItem("Expand Relation", (dgraph: DependencyGraph, node: DependencyNode)=>
Extraction.expandRelation(dgraph, node, Set()).head.nodes))
val parserMutex = new ButtonGroup(parserOptions: _*)
val expandMutex = new ButtonGroup(expandOptions: _*)
contents += new Menu("File") {
contents += new MenuItem(Action("Load gold set...") {
withWaitCursor {
choose(Settings.goldFile) match {
case Some(file) =>
gold = GoldSet.load(file)
extractionList.listData = extractionList.listData.map(entry => entry.copy(correct = gold.get(entry.string)))
case None =>
}
}
})
contents += new MenuItem(Action("Save gold set...") {
withWaitCursor {
chooseSave(Settings.goldFile) match {
case Some(file) => GoldSet.save(gold, file)
case None =>
}
}
})
contents += new Separator()
contents += new MenuItem(Action("Search Sentences...") {
withWaitCursor {
val query = Dialog.showInput(null, message="Enter the sentence text to search for.", title="Search Sentences", Dialog.Message.Plain, Swing.EmptyIcon, Seq(), "")
query match {
case Some(query) =>
val index = sentences.indexWhere {
case Sentence.Text(s) => s.contains(query)
case Sentence.Graph(g) => g.text.contains(query)
}
if (index >= 0) {
sentenceIndex = index
Elements.scrollBar.value = index
updateDocument(sentences(index))
}
case None => label.text = "No results found."
}
}
})
contents += new MenuItem(Action("Next Extraction...") {
withWaitCursor {
sentences.zipWithIndex.drop(sentenceIndex).foreach {
case (sentence, index) =>
val dgraph = parse(sentence)
val extractions = extract(dgraph)
if (extractions.size > 0) {
sentenceIndex = index
Elements.scrollBar.value = index
Elements.scrollBar.adjust()
updateDocument(dgraph)
}
}
}
})
contents += new Separator()
contents += new MenuItem(Action("Load Sentences...") {
withWaitCursor {
if (loadSentences()) {
Elements.scrollBar.adjust()
sentences.headOption.map(updateDocument)
}
}
})
contents += new MenuItem(Action("Clear Sentences...") {
sentences = Seq.empty
Elements.scrollBar.adjust
})
contents += new Separator()
contents += new MenuItem(Action("Exit") { exit() })
}
contents += new Menu("Options") {
contents += new CheckMenuItem("Raw Matches") {
selected = Settings.rawMatches
action = Action("Raw Matches") {
if (this.selected) {
Settings.rawMatches = true
} else {
Settings.rawMatches = false
}
}
}
contents += new MenuItem(Action("Switch Voice") {
current.flatMap(dgraph => new DependencyGraphExtras(dgraph).switchVoice.headOption).foreach { dgraph =>
updateDocument(dgraph)
}
})
contents += new Menu("Parser") {
contents ++= parserOptions
}
contents += new Menu("Click") {
contents ++= expandOptions
}
contents += new Separator()
contents += new MenuItem(Action("Load default model") {
extractor = Some(OpenParse.fromModelUrl(OpenParse.defaultModelUrl))
})
contents += new MenuItem(Action("Load model...") {
choose(None) map { file =>
extractor = Some(OpenParse.fromModelFile(file))
}
})
}
}
}
// user interface
val ui = new BorderPanel() {
import BorderPanel.Position._
val panel = new BoxPanel(Orientation.Vertical) {
val input = new BorderPanel {
layout(field) = Center
layout(button) = East
}
contents += input
contents += Swing.VStrut(10)
contents += label
contents += Swing.VStrut(10)
contents += Elements.scrollBar
contents += Swing.VStrut(5)
}
layout(panel) = North
val display = new BoxPanel(Orientation.Horizontal) {
contents += new ScrollPane {
minimumSize = new Dimension(0, Int.MaxValue)
maximumSize = new Dimension(200, Int.MaxValue)
contents = extractionList
}
contents += new Component {
override lazy val peer = canvas
}
}
layout(display) = Center
listenTo(button)
listenTo(extractionList.selection)
listenTo(Elements.scrollBar)
reactions += {
case ButtonClicked(b) =>
withWaitCursor {
if (field.text.trim.length > 0) {
val sentence = Sentence(field.text)
// update state
if (sentences.isEmpty || sentence != sentences(sentenceIndex)) {
sentences = sentences.take(sentenceIndex + 1) :+ sentence
}
Elements.scrollBar.adjust
sentenceIndex = Elements.scrollBar.max
Elements.scrollBar.value = Elements.scrollBar.max
updateDocument(sentence)
}
}
case SelectionChanged(`extractionList`) => {
if (extractionList.listData.size > 0) {
if (extractionList.selection.items.size > 0) {
withWaitCursor {
current.map { dgraph =>
updateDocument(dgraph, extractionList.selection.items(0))
}
}
}
}
}
case ValueChanged(Elements.scrollBar) => if (sentenceIndex != Elements.scrollBar.value) {
withWaitCursor {
if (sentences.indices.contains(Elements.scrollBar.value)) {
sentenceIndex = Elements.scrollBar.value
try {
updateDocument(sentences(sentenceIndex))
}
catch {
case e => e.printStackTrace
}
}
}
}
}
}
contents = ui
menuBar = menu
}
def parse(sentence: Sentence) = {
sentence match {
case Sentence.Text(text) =>
loadParserIfNone()
val dgraph = parser.get._2.dependencyGraph(text).collapse
extractor.map(_.simplifyGraph _) match {
case Some(f) => f(dgraph)
case None => dgraph
}
case Sentence.Graph(dgraph) =>
dgraph
}
}
def extract(dgraph: DependencyGraph) = {
extractor.map { extractor =>
if (!Settings.rawMatches) {
val extractions = for {
(conf, extr) <- extractor.extract(dgraph)
} yield {
new ExtractionEntry(conf, extr, parser.map(_._1).getOrElse(Parser.Deserialize), gold.get(extr.toString))
}
extractions.sortBy(_.confidence).reverse
} else {
val extractions = for {
ex <- extractor.extractors
m <- ex.pattern(dgraph.graph)
} yield {
ExtractionEntry(None, m, m.nodes.toSet, ex, parser.map(_._1).getOrElse(Parser.Deserialize), m.nodes.iterator.map(_.string).mkString(" "), None)
}
extractions.sortBy(_.confidence).reverse
}
}.getOrElse(Seq.empty)
}
def exit() {
System.exit(0)
}
}
================================================
FILE: app/src/main/scala/edu/knowitall/openparse/gui/Dot.scala
================================================
package edu.knowitall.openparse.gui
import edu.knowitall.openparse.extract.TemplateExtractor
import edu.knowitall.common.Resource.using
import edu.knowitall.tool.parse.graph.DependencyGraph
import edu.knowitall.tool.parse.graph.DependencyNode
import java.io.IOException
import scala.swing.Dialog
import scala.io.Source
import java.io.InputStream
import java.io.OutputStream
import java.io.PrintWriter
import java.io.File
/** Code pertaining to rendering and converting DOT graphs. */
object Dot {
def dot2svg(graphvizFile: Option[File], dotgraph: String) = {
import sys.process.ProcessIO
trait InputHandler[A] {
def handle(a: A)(input: OutputStream)
}
trait OutputHandler[A] {
def handle(output: InputStream)
def value: A
}
val errHandler = new OutputHandler[String] {
var value: String = null
def handle(out: InputStream) {
value = Source.fromInputStream(out).mkString
out.close()
}
}
val inputHandler = new InputHandler[String] {
def handle(a: String)(os: OutputStream) {
val pw = new PrintWriter(os)
pw write a
pw.close()
}
}
val outputHandler = new OutputHandler[String] {
var value: String = null
def handle(out: InputStream) {
value = Source.fromInputStream(out).mkString
out.close()
}
}
val io = new ProcessIO(inputHandler.handle(dotgraph), outputHandler.handle, errHandler.handle, false)
val process = graphvizFile match {
case Some(file) => sys.process.Process(file.getAbsolutePath, Seq("-T", "svg"))
case None => sys.process.Process("dot", Seq("-T", "svg"))
}
val proc = try (process run io)
catch {
case e: IOException =>
Dialog.showMessage(message = e.getMessage() + ". You may need to install graphviz and add it to the PATH variable, or specify the path to the dot program using the '--graphviz' argument.", messageType = Dialog.Message.Error)
throw e
}
proc.exitValue() match {
case 0 => outputHandler.value
case x => sys.error("Dot exited with error code: " + x + " with output:\n" + errHandler.value)
}
}
def svg2xml(svgString: String, nodeClickEvent: String=>Unit) = {
import org.apache.batik.dom.svg.SVGDOMImplementation;
import org.apache.batik.util.XMLResourceDescriptor
import org.apache.batik.dom.svg.SAXSVGDocumentFactory
val uri = SVGDOMImplementation.SVG_NAMESPACE_URI;
val doc = using(new java.io.StringReader(svgString)) { reader =>
val parser = XMLResourceDescriptor.getXMLParserClassName();
val f = new SAXSVGDocumentFactory(parser);
f.createSVGDocument(uri, reader);
}
val gs = doc.getElementsByTagNameNS(uri, "g")
for (i <- 0 until gs.getLength) {
val g = gs.item(i)
val attributes = g.getAttributes
val clazz = attributes.getNamedItem("class").getNodeValue
if (clazz == "node") {
val children = g.getChildNodes
for (j <- 0 until children.getLength) {
val child = children.item(j)
if (child.getNodeName == "title") {
val text = child.getFirstChild.getNodeValue
import org.w3c.dom.events._
g.asInstanceOf[EventTarget].addEventListener("click",
new EventListener() {
def handleEvent(e: Event) { nodeClickEvent(text) }
},
true);
}
}
}
}
doc
}
def dotgraph(dgraph: DependencyGraph, nodes: Set[DependencyNode]) = {
val nodeStyle = nodes.map((_, "style=filled,color=lightblue"))
dgraph.dot(dgraph.text, nodeStyle.toMap, Map.empty)
}
def dotgraph(dgraph: DependencyGraph, extraction: ExtractionEntry) = {
def originalNodes(nodes: Iterable[DependencyNode]) = nodes.map { node =>
dgraph.nodes.find(_.indices == node.indices).get
}
val title = "\\n" + dgraph.text + "\\n" + extraction.toString + "\\n" + extraction.`match`.pattern.toStringF((s: String) => if (s.length < 60) s else s.take(20) + "...") +
(extraction.extractor match { case ex: TemplateExtractor => "\\n" + ex.template case _ => "" })
// nodes
val darkNodes = extraction.`match`.nodeGroups
val lightNodes = originalNodes(extraction.nodes).toSet -- originalNodes(darkNodes.map(_._2.node))
val filledNodes = (lightNodes zip Stream.continually("style=filled,fillcolor=lightgray")) ++
(darkNodes.map { nodeGroup =>
val style = "style=filled,fillcolor=" + (nodeGroup._1 match {
case "rel" => "salmon1"
case "arg1" | "arg2" => "lightblue"
case "slot0" | "slot1" | "slot2" | "slot3" => "seashell"
case _ => "yellow"
})
(nodeGroup._2.node, style)
})
// edges
val solidEdges = extraction.edges.toSet
val nodeStyle = filledNodes
val edgeStyle = (solidEdges zip Stream.continually("style=filled")) ++
((dgraph.graph.edges.toSet -- solidEdges.toSet) zip Stream.continually("style=dotted,color=gray"))
dgraph.dot(title, nodeStyle.toMap, edgeStyle.toMap)
}
}
================================================
FILE: app/src/main/scala/edu/knowitall/openparse/gui/ExtractionEntry.scala
================================================
package edu.knowitall.openparse.gui
import edu.knowitall.collection.immutable.graph.pattern.Match
import edu.knowitall.tool.parse.graph.DependencyNode
import edu.knowitall.openparse.extract.PatternExtractor
import edu.knowitall.openparse.extract.DetailedExtraction
/**
* A more generic representation of an extraction.
*
* This is needed to allow for raw matches, which do
* not have an arg1, rel, etc.
*/
case class ExtractionEntry(
confidence: Option[Double],
`match`: Match[DependencyNode],
nodes: Set[DependencyNode],
extractor: PatternExtractor,
parser: Parser.ParserEnum,
string: String = "",
correct: Option[Boolean]) {
/**
* Convenient constructor for instantiating from
* an OpenParse extraction.
*/
def this(confidence: Double, extraction: DetailedExtraction, parser: Parser.ParserEnum, correct: Option[Boolean] = None) = this(Some(confidence), extraction.`match`, extraction.nodes.toSet, extraction.extractor, parser, extraction.toString, correct)
def edges = `match`.edges
def annotate(correct: Boolean) = this.copy(correct = Some(correct))
def unannotate = this.copy(correct = None)
private def goldString = {
correct match {
case Some(true) => "+ "
case Some(false) => "- "
case None => ""
}
}
override def toString = confidence.map("%1.4f:" format _).getOrElse("") + goldString + string
}
================================================
FILE: app/src/main/scala/edu/knowitall/openparse/gui/Parser.scala
================================================
package edu.knowitall.openparse.gui
import edu.knowitall.tool.parse.DependencyParser
import edu.knowitall.tool.parse.MaltParser
import edu.knowitall.tool.parse.graph.Dependencies
import edu.knowitall.tool.parse.graph.DependencyGraph
/** An enumerator for parser options */
object Parser extends Enumeration {
type ParserEnum = Value
val Deserialize = Value("Deserialize")
val Stanford = Value("Stanford")
val MaltL = Value("Malt (Linear)")
val MaltPoly = Value("Malt (Poly)")
def default = MaltL
def load(parserType: ParserEnum): (ParserEnum, DependencyParser) = parserType match {
case Parser.Stanford => (parserType, new edu.knowitall.tool.parse.StanfordParser)
case Parser.MaltL => (parserType, new MaltParser())
case Parser.MaltPoly => (parserType, new MaltParser(modelUrl = new java.io.File("engmalt.poly-1.7.mco").toURI.toURL))
case Parser.Deserialize => (parserType, new DependencyParser() {
override def dependencies(input: String) = Dependencies.deserialize(input)
override def dependencyGraph(input: String) = DependencyGraph.deserialize(input)
})
}
}
================================================
FILE: app/src/main/scala/edu/knowitall/openparse/gui/Sentence.scala
================================================
package edu.knowitall.openparse.gui
import scala.util.control.Exception.catching
import edu.knowitall.tool.parse.graph.DependencyGraph
import edu.knowitall.tool.parse.graph.DependencyGraph.SerializationException
import edu.knowitall.tool.parse.graph.DependencyGraph.deserialize
/** A representation of the input sentence. */
sealed abstract class Sentence
object Sentence {
case class Text(text: String) extends Sentence {
override def toString = text
}
case class Graph(dgraph: DependencyGraph) extends Sentence {
override def toString = dgraph.serialize
}
def apply(string: String): Sentence = {
import DependencyGraph._
catching(classOf[SerializationException]).opt {
deserialize(string)
} match {
case Some(dgraph) => Graph(dgraph)
case None => Text(string)
}
}
}
================================================
FILE: app/src/test/resources/logback-test.xml
================================================
<?xml version="1.0"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
================================================
FILE: core/build.sbt
================================================
organization := "edu.washington.cs.knowitall.ollie"
name := "ollie-core"
description := "Wrapper and implementation for extractors of chunked sentences."
version := "1.0.4-SNAPSHOT"
crossScalaVersions := Seq("2.9.2", "2.10.1")
scalaVersion <<= crossScalaVersions { (vs: Seq[String]) => vs.head }
libraryDependencies ++= Seq(
"edu.washington.cs.knowitall.nlptools" %% "nlptools-core" % "2.4.1",
"edu.washington.cs.knowitall.nlptools" %% "nlptools-conf-breeze" % "2.4.1",
"edu.washington.cs.knowitall.nlptools" %% "nlptools-stem-morpha" % "2.4.1",
"org.slf4j" % "slf4j-api" % "1.7.2",
"org.scalaz" %% "scalaz-core" % "7.0.0",
"ch.qos.logback" % "logback-classic" % "1.0.9" % "test",
"ch.qos.logback" % "logback-core" % "1.0.9" % "test",
"junit" % "junit" % "4.11" % "test",
"org.specs2" %% "specs2" % "1.12.3" % "test")
scalacOptions ++= Seq("-unchecked", "-deprecation")
licenses := Seq("Ollie Software License Agreement" -> url("https://raw.github.com/knowitall/ollie/master/LICENSE"))
homepage := Some(url("http://ollie.cs.washington.edu"))
publishMavenStyle := true
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
publishTo <<= version { (v: String) =>
val nexus = "https://oss.sonatype.org/"
if (v.trim.endsWith("SNAPSHOT"))
Some("snapshots" at nexus + "content/repositories/snapshots")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
}
pomExtra := (
<scm>
<url>https://github.com/knowitall/ollie</url>
<connection>scm:git://github.com/knowitall/ollie.git</connection>
<developerConnection>scm:git:git@github.com:knowitall/ollie.git</developerConnection>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<name>Michael Schmitz</name>
</developer>
<developer>
<name>Robert Bart</name>
</developer>
</developers>)
================================================
FILE: core/here.txt
================================================
score conf op-conf yield precision extr enabler attrib sentence dependencies Arg1 Cleanup feature Arg1 comes after arg2 Arg2 comes before Rel Args both start and end with nouns Extr has attribution? Extr has enabledBy? Hyp words near rel If before arg1 and no enabledBy? Noun-Verb-Noun in arg2 OpenParse Confidence Prep in arg2? Prep right after arg2? Prep right before arg1? Rel contains VBD Rel contains VBG Rel contains VBP Rel ends with of Rel head is a communication verb? Rel starts with "be"? Sentence starts with extr? That before rel Vacuous rel+arg2 Verb after arg2?
-1.9474 -0.1342 -0.4772 0.1987 0.3096 0.6941 -0.4802 -2.1688 -0.4579 1.304 0.5695 -0.5616 -0.2119 0.6841 -0.4981 0.5545 -0.2275 -0.8676 -0.5553 0.3185 -0.2083 -1.8374 0.2496
1 0.9446846123114957 1.0 0 1.0 (M and N phenotypes; Rather are exhibited by; heterozygotes)[enabler=since both molecules are present] true false Rather , both M and N phenotypes are exhibited by heterozygotes , since both molecules are present . preconj(M_NNP_3_14, both_DT_2_9); cc(M_NNP_3_14, and_CC_4_16); conj(M_NNP_3_14, phenotypes_NNS_6_22); nn(phenotypes_NNS_6_22, N_NNP_5_20); advmod(exhibited_VBN_8_37, Rather_RB_0_0); punct(exhibited_VBN_8_37, ,_,_1_7); nsubjpass(exhibited_VBN_8_37, M_NNP_3_14); auxpass(exhibited_VBN_8_37, are_VBP_7_33); prep(exhibited_VBN_8_37, by_IN_9_47); punct(exhibited_VBN_8_37, ,_,_11_64); advcl(exhibited_VBN_8_37, present_JJ_16_91); punct(exhibited_VBN_8_37, ._._17_99); pobj(by_IN_9_47, heterozygotes_NNS_10_50); det(molecules_NNS_14_77, both_DT_13_72); mark(present_JJ_16_91, since_IN_12_66); nsubj(present_JJ_16_91, molecules_NNS_14_77); cop(present_JJ_16_91, are_VBP_15_87) 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9378010670485936 1.0 2 1.0 (The companies; are followed by; at least three analysts) false false The companies are followed by at least three analysts , and had a minimum five-cent change in actual earnings per share . det(companies_NNS_1_4, The_DT_0_0); nsubjpass(followed_VBN_3_18, companies_NNS_1_4); auxpass(followed_VBN_3_18, are_VBP_2_14); prep(followed_VBN_3_18, by_IN_4_27); punct(followed_VBN_3_18, ,_,_9_54); cc(followed_VBN_3_18, and_CC_10_56); conj(followed_VBN_3_18, had_VBD_11_60); punct(followed_VBN_3_18, ._._21_120); pobj(by_IN_4_27, analysts_NNS_8_45); dep(at_IN_5_30, least_JJS_6_33); quantmod(three_CD_7_39, at_IN_5_30); num(analysts_NNS_8_45, three_CD_7_39); dobj(had_VBD_11_60, change_NN_15_84); det(change_NN_15_84, a_DT_12_64); amod(change_NN_15_84, minimum_JJ_13_66); amod(change_NN_15_84, five-cent_JJ_14_74); prep(change_NN_15_84, in_IN_16_91); pobj(in_IN_16_91, earnings_NNS_18_101); amod(earnings_NNS_18_101, actual_JJ_17_94); prep(earnings_NNS_18_101, per_IN_19_110); pobj(per_IN_19_110, share_NN_20_114) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9339431602264946 1.0 3 1.0 (he; was called back from; the loan)[enabler=CSKA qualified for the round of 16 of the UEFA Cup 2008] true false After CSKA qualified for the round of 16 of the UEFA Cup 2008 , he was called back from the loan and on 12 March 2009 was registered as a CSKA player . pobj(After_IN_0_0, CSKA_NNP_1_6); prep(qualified_VBD_2_11, After_IN_0_0); prep(qualified_VBD_2_11, for_IN_3_21); pobj(for_IN_3_21, round_NN_5_29); det(round_NN_5_29, the_DT_4_25); prep(round_NN_5_29, of_IN_6_35); pobj(of_IN_6_35, 16_CD_7_38); prep(16_CD_7_38, of_IN_8_41); pobj(of_IN_8_41, Cup_NNP_11_53); det(Cup_NNP_11_53, the_DT_9_44); nn(Cup_NNP_11_53, UEFA_NNP_10_48); num(Cup_NNP_11_53, 2008_CD_12_57); advcl(called_VBN_16_71, qualified_VBD_2_11); punct(called_VBN_16_71, ,_,_13_62); nsubjpass(called_VBN_16_71, he_PRP_14_64); auxpass(called_VBN_16_71, was_VBD_15_67); advmod(called_VBN_16_71, back_RB_17_78); prep(called_VBN_16_71, from_IN_18_83); cc(called_VBN_16_71, and_CC_21_97); conj(called_VBN_16_71, registered_VBN_27_122); punct(called_VBN_16_71, ._._32_150); pobj(from_IN_18_83, loan_NN_20_92); det(loan_NN_20_92, the_DT_19_88); pobj(on_IN_22_101, March_NNP_24_107); num(March_NNP_24_107, 12_CD_23_104); num(March_NNP_24_107, 2009_CD_25_113); prep(registered_VBN_27_122, on_IN_22_101); auxpass(registered_VBN_27_122, was_VBD_26_118); prep(registered_VBN_27_122, as_IN_28_133); pobj(as_IN_28_133, player_NN_31_143); det(player_NN_31_143, a_DT_29_136); nn(player_NN_31_143, CSKA_NNP_30_138) 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.9323012325715606 0.7345 4 1.0 (they; played locally throughout; the winter of 2004 and the spring of 2005)[enabler=As the band struggled to find support slots on upcoming tours without the help of a booking agent] true false As the band struggled to find support slots on upcoming tours without the help of a booking agent , they played locally in Southern California throughout the winter of 2004 and the spring of 2005 . det(band_NN_2_7, the_DT_1_3); mark(struggled_VBD_3_12, As_IN_0_0); nsubj(struggled_VBD_3_12, band_NN_2_7); xcomp(struggled_VBD_3_12, find_VB_5_25); prep(struggled_VBD_3_12, without_IN_11_62); aux(find_VB_5_25, to_TO_4_22); dobj(find_VB_5_25, slots_NNS_7_38); nn(slots_NNS_7_38, support_NN_6_30); prep(slots_NNS_7_38, on_IN_8_44); pobj(on_IN_8_44, tours_NNS_10_56); nn(tours_NNS_10_56, upcoming_NN_9_47); pobj(without_IN_11_62, help_NN_13_74); det(help_NN_13_74, the_DT_12_70); prep(help_NN_13_74, of_IN_14_79); pobj(of_IN_14_79, agent_NN_17_92); det(agent_NN_17_92, a_DT_15_82); nn(agent_NN_17_92, booking_NN_16_84); advcl(played_VBD_20_105, struggled_VBD_3_12); punct(played_VBD_20_105, ,_,_18_98); nsubj(played_VBD_20_105, they_PRP_19_100); advmod(played_VBD_20_105, locally_RB_21_112); prep(played_VBD_20_105, in_IN_22_120); prep(played_VBD_20_105, throughout_IN_25_143); punct(played_VBD_20_105, ._._35_196); pobj(in_IN_22_120, California_NNP_24_132); amod(California_NNP_24_132, Southern_JJ_23_123); pobj(throughout_IN_25_143, winter_NN_27_158); det(winter_NN_27_158, the_DT_26_154); prep(winter_NN_27_158, of_IN_28_165); cc(winter_NN_27_158, and_CC_30_173); conj(winter_NN_27_158, spring_NN_32_181); pobj(of_IN_28_165, 2004_CD_29_168); det(spring_NN_32_181, the_DT_31_177); prep(spring_NN_32_181, of_IN_33_188); pobj(of_IN_33_188, 2005_CD_34_191) 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.9304226589378597 1.0 5 1.0 (A collection of her art; was displayed by; supporters campaigning to release her) false false A collection of her art was displayed at an exhibition in Tehran by supporters campaigning to release her . det(collection_NN_1_2, A_DT_0_0); prep(collection_NN_1_2, of_IN_2_13); pobj(of_IN_2_13, art_NN_4_20); poss(art_NN_4_20, her_PRP$_3_16); nsubjpass(displayed_VBN_6_28, collection_NN_1_2); auxpass(displayed_VBN_6_28, was_VBD_5_24); prep(displayed_VBN_6_28, at_IN_7_38); prep(displayed_VBN_6_28, by_IN_12_65); punct(displayed_VBN_6_28, ._._18_106); pobj(at_IN_7_38, exhibition_NN_9_44); det(exhibition_NN_9_44, an_DT_8_41); prep(exhibition_NN_9_44, in_IN_10_55); pobj(in_IN_10_55, Tehran_NNP_11_58); pobj(by_IN_12_65, supporters_NNS_13_68); partmod(supporters_NNS_13_68, campaigning_VBG_14_79); xcomp(campaigning_VBG_14_79, release_VB_16_94); aux(release_VB_16_94, to_TO_15_91); dobj(release_VB_16_94, her_PRP_17_102) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.9304226589378597 1.0 6 1.0 (Terry L. Haines; was elected to; the new position of vice president) false false Terry L. Haines , formerly general manager of Canadian operations , was elected to the new position of vice president , North American sales , of this plastics concern . nn(Haines_NNP_2_9, Terry_NNP_0_0); nn(Haines_NNP_2_9, L._NNP_1_6); punct(Haines_NNP_2_9, ,_,_3_16); appos(Haines_NNP_2_9, manager_NN_6_35); punct(Haines_NNP_2_9, ,_,_10_66); advmod(manager_NN_6_35, formerly_RB_4_18); amod(manager_NN_6_35, general_JJ_5_27); prep(manager_NN_6_35, of_IN_7_43); pobj(of_IN_7_43, operations_NNS_9_55); amod(operations_NNS_9_55, Canadian_JJ_8_46); nsubjpass(elected_VBN_12_72, Haines_NNP_2_9); auxpass(elected_VBN_12_72, was_VBD_11_68); prep(elected_VBN_12_72, to_TO_13_80); punct(elected_VBN_12_72, ,_,_20_118); punct(elected_VBN_12_72, ._._29_168); pobj(to_TO_13_80, position_NN_16_91); det(position_NN_16_91, the_DT_14_83); amod(position_NN_16_91, new_JJ_15_87); prep(position_NN_16_91, of_IN_17_100); pobj(of_IN_17_100, president_NN_19_108); nn(president_NN_19_108, vice_NN_18_103); dobj(,_,_20_118, sales_NNS_23_135); nn(sales_NNS_23_135, North_NNP_21_120); nn(sales_NNS_23_135, American_NNP_22_126); punct(sales_NNS_23_135, ,_,_24_141); prep(sales_NNS_23_135, of_IN_25_143); pobj(of_IN_25_143, concern_NN_28_160); det(concern_NN_28_160, this_DT_26_146); nn(concern_NN_28_160, plastics_NNS_27_151) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.9258278797037348 1.0 7 1.0 (he; was involved in; the building of the 145 m long) false false During his time as a student in Berlin , he was involved in the building of the 145 m long " Tunnel 57 " below the Berlin Wall , which was the escape route of 57 people from East Berlin to the West . pobj(During_IN_0_0, time_NN_2_11); dep(During_IN_0_0, as_IN_3_16); poss(time_NN_2_11, his_PRP$_1_7); pobj(as_IN_3_16, student_NN_5_21); det(student_NN_5_21, a_DT_4_19); prep(student_NN_5_21, in_IN_6_29); pobj(in_IN_6_29, Berlin_NNP_7_32); prep(involved_VBN_11_48, During_IN_0_0); punct(involved_VBN_11_48, ,_,_8_39); nsubjpass(involved_VBN_11_48, he_PRP_9_41); auxpass(involved_VBN_11_48, was_VBD_10_44); prep(involved_VBN_11_48, in_IN_12_57); punct(involved_VBN_11_48, ._._43_198); pobj(in_IN_12_57, building_NN_14_64); det(building_NN_14_64, the_DT_13_60); prep(building_NN_14_64, of_IN_15_73); pobj(of_IN_15_73, m_NN_18_84); det(m_NN_18_84, the_DT_16_76); num(m_NN_18_84, 145_CD_17_80); amod(m_NN_18_84, long_JJ_19_86); dep(long_JJ_19_86, "_``_23_103); num(Tunnel_NNP_21_93, 57_CD_22_100); punct("_``_23_103, "_``_20_91); nsubj("_``_23_103, Tunnel_NNP_21_93); prep("_``_23_103, below_IN_24_105); pobj(below_IN_24_105, Wall_NNP_27_122); det(Wall_NNP_27_122, the_DT_25_111); nn(Wall_NNP_27_122, Berlin_NNP_26_115); punct(Wall_NNP_27_122, ,_,_28_127); rcmod(Wall_NNP_27_122, route_NN_33_150); nsubj(route_NN_33_150, which_WDT_29_129); cop(route_NN_33_150, was_VBD_30_135); det(route_NN_33_150, the_DT_31_139); nn(route_NN_33_150, escape_NN_32_143); prep(route_NN_33_150, of_IN_34_156); prep(route_NN_33_150, from_IN_37_169); prep(route_NN_33_150, to_TO_40_186); pobj(of_IN_34_156, people_NNS_36_162); num(people_NNS_36_162, 57_CD_35_159); pobj(from_IN_37_169, Berlin_NNP_39_179); nn(Berlin_NNP_39_179, East_NNP_38_174); pobj(to_TO_40_186, West_NNP_42_193); det(West_NNP_42_193, the_DT_41_189) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.92215545568493 1.0 8 1.0 (The Dynix corporation; was founded in; 1983) false false The Dynix corporation was founded in 1983 , and SirsiDynix was formed by the merger of the Sirsi and Dynix corporations in June 2005 . det(corporation_NN_2_10, The_DT_0_0); nn(corporation_NN_2_10, Dynix_NNP_1_4); nsubjpass(founded_VBN_4_26, corporation_NN_2_10); auxpass(founded_VBN_4_26, was_VBD_3_22); prep(founded_VBN_4_26, in_IN_5_34); punct(founded_VBN_4_26, ,_,_7_42); cc(founded_VBN_4_26, and_CC_8_44); conj(founded_VBN_4_26, formed_VBN_11_63); punct(founded_VBN_4_26, ._._24_133); pobj(in_IN_5_34, 1983_CD_6_37); nsubjpass(formed_VBN_11_63, SirsiDynix_NNP_9_48); auxpass(formed_VBN_11_63, was_VBD_10_59); prep(formed_VBN_11_63, by_IN_12_70); prep(formed_VBN_11_63, in_IN_21_120); pobj(by_IN_12_70, merger_NN_14_77); det(merger_NN_14_77, the_DT_13_73); prep(merger_NN_14_77, of_IN_15_84); pobj(of_IN_15_84, corporations_NNS_20_107); cc(Sirsi_NNP_17_91, and_CC_18_97); conj(Sirsi_NNP_17_91, Dynix_NNP_19_101); det(corporations_NNS_20_107, the_DT_16_87); nn(corporations_NNS_20_107, Sirsi_NNP_17_91); pobj(in_IN_21_120, June_NNP_22_123); num(June_NNP_22_123, 2005_CD_23_128) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.92215545568493 1.0 9 1.0 (The song; was recorded in; 2003) false false The song was recorded in 2003 , and was supposed to be included on her third album " Still " , eventually released under the title " More " . det(song_NN_1_4, The_DT_0_0); nsubjpass(recorded_VBN_3_13, song_NN_1_4); auxpass(recorded_VBN_3_13, was_VBD_2_9); prep(recorded_VBN_3_13, in_IN_4_22); punct(recorded_VBN_3_13, ,_,_6_30); cc(recorded_VBN_3_13, and_CC_7_32); conj(recorded_VBN_3_13, supposed_VBN_9_40); punct(recorded_VBN_3_13, ._._29_140); pobj(in_IN_4_22, 2003_CD_5_25); auxpass(supposed_VBN_9_40, was_VBD_8_36); xcomp(supposed_VBN_9_40, included_VBN_12_55); punct(supposed_VBN_9_40, ,_,_20_93); dep(supposed_VBN_9_40, released_VBN_22_106); aux(included_VBN_12_55, to_TO_10_49); auxpass(included_VBN_12_55, be_VB_11_52); prep(included_VBN_12_55, on_IN_13_64); pobj(on_IN_13_64, album_NN_16_77); poss(album_NN_16_77, her_PRP$_14_67); amod(album_NN_16_77, third_JJ_15_71); punct(album_NN_16_77, "_''_17_83); advmod(album_NN_16_77, Still_RB_18_85); punct(album_NN_16_77, "_''_19_91); advmod(released_VBN_22_106, eventually_RB_21_95); prep(released_VBN_22_106, under_IN_23_115); pobj(under_IN_23_115, title_NN_25_125); det(title_NN_25_125, the_DT_24_121); dep(title_NN_25_125, More_JJR_27_133); punct(More_JJR_27_133, "_``_26_131); punct(More_JJR_27_133, "_''_28_138) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.920853471440541 1.0 10 1.0 (Such fibers; are specialized in; ways that enable them to make use of a steady energy supply) false false Such fibers are specialized in ways that enable them to make use of a steady energy supply : They have many mitochondria , a rich blood supply , and a large amount of an oxygen-storing protein called myoglobin . amod(fibers_NNS_1_5, Such_JJ_0_0); nsubjpass(specialized_VBN_3_16, fibers_NNS_1_5); auxpass(specialized_VBN_3_16, are_VBP_2_12); prep(specialized_VBN_3_16, in_IN_4_28); punct(specialized_VBN_3_16, :_:_17_91); parataxis(specialized_VBN_3_16, have_VBP_19_98); punct(specialized_VBN_3_16, ._._38_210); pobj(in_IN_4_28, ways_NNS_5_31); rcmod(ways_NNS_5_31, enable_VBP_7_41); nsubj(enable_VBP_7_41, that_WDT_6_36); xcomp(enable_VBP_7_41, make_VB_10_56); nsubj(make_VB_10_56, them_PRP_8_48); aux(make_VB_10_56, to_TO_9_53); xcomp(make_VB_10_56, use_NN_11_61); prep(use_NN_11_61, of_IN_12_65); pobj(of_IN_12_65, supply_NN_16_84); det(supply_NN_16_84, a_DT_13_68); amod(supply_NN_16_84, steady_JJ_14_70); nn(supply_NN_16_84, energy_NN_15_77); nsubj(have_VBP_19_98, They_PRP_18_93); dobj(have_VBP_19_98, mitochondria_NNS_21_108); punct(have_VBP_19_98, ,_,_27_143); cc(have_VBP_19_98, and_CC_28_145); conj(have_VBP_19_98, called_VBD_36_193); amod(mitochondria_NNS_21_108, many_JJ_20_103); punct(mitochondria_NNS_21_108, ,_,_22_121); conj(mitochondria_NNS_21_108, supply_NN_26_136); det(supply_NN_26_136, a_DT_23_123); amod(supply_NN_26_136, rich_JJ_24_125); nn(supply_NN_26_136, blood_NN_25_130); det(amount_NN_31_157, a_DT_29_149); amod(amount_NN_31_157, large_JJ_30_151); prep(amount_NN_31_157, of_IN_32_164); pobj(of_IN_32_164, protein_NN_35_185); det(protein_NN_35_185, an_DT_33_167); amod(protein_NN_35_185, oxygen-storing_JJ_34_170); nsubj(called_VBD_36_193, amount_NN_31_157); dobj(called_VBD_36_193, myoglobin_NN_37_200) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
0 0.9175510420737124 0.3797 10 0.9090909090909091 (you; learned earlier stimulate; the release of saliva)[enabler=when food enters the oral cavity and orchestrate swallowing when a bolus of food reaches the pharynx] true false For example , you learned earlier that nervous reflexes stimulate the release of saliva when food enters the oral cavity and orchestrate swallowing when a bolus of food reaches the pharynx . pobj(For_IN_0_0, example_NN_1_4); prep(learned_VBD_4_18, For_IN_0_0); punct(learned_VBD_4_18, ,_,_2_12); nsubj(learned_VBD_4_18, you_PRP_3_14); xcomp(learned_VBD_4_18, stimulate_VB_9_56); punct(learned_VBD_4_18, ._._31_189); det(reflexes_NNS_8_47, that_DT_6_34); amod(reflexes_NNS_8_47, nervous_JJ_7_39); advmod(stimulate_VB_9_56, earlier_RB_5_26); nsubj(stimulate_VB_9_56, reflexes_NNS_8_47); dobj(stimulate_VB_9_56, release_NN_11_70); advcl(stimulate_VB_9_56, enters_VBZ_16_98); det(release_NN_11_70, the_DT_10_66); prep(release_NN_11_70, of_IN_12_78); pobj(of_IN_12_78, saliva_NN_13_81); advmod(enters_VBZ_16_98, when_WRB_14_88); nsubj(enters_VBZ_16_98, food_NN_15_93); dobj(enters_VBZ_16_98, cavity_NN_19_114); advcl(enters_VBZ_16_98, reaches_VBZ_28_169); det(cavity_NN_19_114, the_DT_17_105); amod(cavity_NN_19_114, oral_JJ_18_109); cc(cavity_NN_19_114, and_CC_20_121); conj(cavity_NN_19_114, swallowing_NN_22_137); nn(swallowing_NN_22_137, orchestrate_NN_21_125); det(bolus_NN_25_155, a_DT_24_153); prep(bolus_NN_25_155, of_IN_26_161); pobj(of_IN_26_161, food_NN_27_164); advmod(reaches_VBZ_28_169, when_WRB_23_148); nsubj(reaches_VBZ_28_169, bolus_NN_25_155); dobj(reaches_VBZ_28_169, pharynx_NN_30_181); det(pharynx_NN_30_181, the_DT_29_177) 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.3797 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.9168556659675215 0.9555 11 0.9166666666666666 (The failure in Oakland of the freeway segment; was the deadliest aspect of; the quake)[enabler=although officials were hopeful yesterday that the death toll there might be significantly lower than the 250 initially feared] true false The failure in Oakland of the freeway segment known as the Cypress structure was the deadliest aspect of the quake , although officials were hopeful yesterday that the death toll there might be significantly lower than the 250 initially feared . det(failure_NN_1_4, The_DT_0_0); prep(failure_NN_1_4, in_IN_2_12); prep(failure_NN_1_4, of_IN_4_23); pobj(in_IN_2_12, Oakland_NNP_3_15); pobj(of_IN_4_23, segment_NN_7_38); det(segment_NN_7_38, the_DT_5_26); nn(segment_NN_7_38, freeway_NN_6_30); partmod(segment_NN_7_38, known_VBN_8_46); prep(known_VBN_8_46, as_IN_9_52); pobj(as_IN_9_52, structure_NN_12_67); det(structure_NN_12_67, the_DT_10_55); nn(structure_NN_12_67, Cypress_NNP_11_59); nsubj(aspect_NN_16_95, failure_NN_1_4); cop(aspect_NN_16_95, was_VBD_13_77); det(aspect_NN_16_95, the_DT_14_81); amod(aspect_NN_16_95, deadliest_JJS_15_85); prep(aspect_NN_16_95, of_IN_17_102); punct(aspect_NN_16_95, ,_,_20_115); advcl(aspect_NN_16_95, hopeful_JJ_24_141); punct(aspect_NN_16_95, ._._40_244); pobj(of_IN_17_102, quake_NN_19_109); det(quake_NN_19_109, the_DT_18_105); mark(hopeful_JJ_24_141, although_IN_21_117); nsubj(hopeful_JJ_24_141, officials_NNS_22_126); cop(hopeful_JJ_24_141, were_VBD_23_136); tmod(hopeful_JJ_24_141, yesterday_NN_25_149); ccomp(hopeful_JJ_24_141, lower_JJR_34_208); det(toll_NN_29_174, the_DT_27_164); nn(toll_NN_29_174, death_NN_28_168); advmod(toll_NN_29_174, there_RB_30_179); complm(lower_JJR_34_208, that_IN_26_159); nsubj(lower_JJR_34_208, toll_NN_29_174); aux(lower_JJR_34_208, might_MD_31_185); cop(lower_JJR_34_208, be_VB_32_191); advmod(lower_JJR_34_208, significantly_RB_33_194); prep(lower_JJR_34_208, than_IN_35_214); pobj(than_IN_35_214, 250_CD_37_223); dep(250_CD_37_223, the_DT_36_219); partmod(250_CD_37_223, feared_VBN_39_237); advmod(feared_VBN_39_237, initially_RB_38_227) 0.0 0.0 0.0 1.0 0.0 1.0 1.0 0.0 0.0 0.9555 0.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9123282402462873 1.0 12 0.9230769230769231 (Capillaries in the brain , heart , kidneys , and liver; are usually filled to; capacity) false false Capillaries in the brain , heart , kidneys , and liver are usually filled to capacity , but at many other sites the blood supply varies over time as blood is diverted from one destination to another . prep(Capillaries_NNS_0_0, in_IN_1_12); punct(Capillaries_NNS_0_0, ,_,_8_43); cc(Capillaries_NNS_0_0, and_CC_9_45); conj(Capillaries_NNS_0_0, liver_NN_10_49); pobj(in_IN_1_12, brain_NN_3_19); det(brain_NN_3_19, the_DT_2_15); punct(brain_NN_3_19, ,_,_4_25); conj(brain_NN_3_19, heart_NN_5_27); punct(brain_NN_3_19, ,_,_6_33); conj(brain_NN_3_19, kidneys_NNS_7_35); nsubjpass(filled_VBN_13_67, Capillaries_NNS_0_0); auxpass(filled_VBN_13_67, are_VBP_11_55); advmod(filled_VBN_13_67, usually_RB_12_59); prep(filled_VBN_13_67, to_TO_14_74); punct(filled_VBN_13_67, ,_,_16_86); cc(filled_VBN_13_67, but_CC_17_88); conj(filled_VBN_13_67, diverted_VBN_31_158); punct(filled_VBN_13_67, ._._37_199); pobj(to_TO_14_74, capacity_NN_15_77); pobj(at_IN_18_92, sites_NNS_21_106); amod(sites_NNS_21_106, many_JJ_19_95); amod(sites_NNS_21_106, other_JJ_20_100); rcmod(sites_NNS_21_106, varies_VBZ_25_129); det(supply_NN_24_122, the_DT_22_112); nn(supply_NN_24_122, blood_NN_23_116); nsubj(varies_VBZ_25_129, supply_NN_24_122); prep(varies_VBZ_25_129, over_IN_26_136); prep(varies_VBZ_25_129, as_IN_28_146); pobj(over_IN_26_136, time_NN_27_141); pobj(as_IN_28_146, blood_NN_29_149); prep(diverted_VBN_31_158, at_IN_18_92); auxpass(diverted_VBN_31_158, is_VBZ_30_155); prep(diverted_VBN_31_158, from_IN_32_167); prep(diverted_VBN_31_158, to_TO_35_188); pobj(from_IN_32_167, destination_NN_34_176); num(destination_NN_34_176, one_CD_33_172); pobj(to_TO_35_188, another_DT_36_191) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9116540315027888 1.0 13 0.9285714285714286 (The incidence of malaria; was greatly diminished by; insecticides that reduced carrier populations of Anopheles mosquitoes and by drugs that killed Plasmodium in humans) false false The incidence of malaria was greatly diminished in the 1960s by insecticides that reduced carrier populations of Anopheles mosquitoes and by drugs that killed Plasmodium in humans . det(incidence_NN_1_4, The_DT_0_0); prep(incidence_NN_1_4, of_IN_2_14); pobj(of_IN_2_14, malaria_NN_3_17); nsubjpass(diminished_VBN_6_37, incidence_NN_1_4); auxpass(diminished_VBN_6_37, was_VBD_4_25); advmod(diminished_VBN_6_37, greatly_RB_5_29); prep(diminished_VBN_6_37, in_IN_7_48); prep(diminished_VBN_6_37, by_IN_10_61); punct(diminished_VBN_6_37, ._._27_180); pobj(in_IN_7_48, 1960s_NNS_9_55); det(1960s_NNS_9_55, the_DT_8_51); pobj(by_IN_10_61, insecticides_NNS_11_64); cc(by_IN_10_61, and_CC_19_134); conj(by_IN_10_61, by_IN_20_138); rcmod(insecticides_NNS_11_64, reduced_VBD_13_82); nsubj(reduced_VBD_13_82, that_WDT_12_77); dobj(reduced_VBD_13_82, populations_NNS_15_98); nn(populations_NNS_15_98, carrier_NN_14_90); prep(populations_NNS_15_98, of_IN_16_110); pobj(of_IN_16_110, mosquitoes_NNS_18_123); nn(mosquitoes_NNS_18_123, Anopheles_NNP_17_113); pobj(by_IN_20_138, drugs_NNS_21_141); rcmod(drugs_NNS_21_141, killed_VBD_23_152); nsubj(killed_VBD_23_152, that_WDT_22_147); dobj(killed_VBD_23_152, Plasmodium_NNP_24_159); prep(killed_VBD_23_152, in_IN_25_170); pobj(in_IN_25_170, humans_NNS_26_173) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.9066414837593882 1.0 14 0.9333333333333333 (Byrom; was born at; a major tourist attraction) false false Byrom was born at what is now the Wellington Inn , Manchester , in 1692 , The Wellington Inn is now a major tourist attraction , and his birth is commemorated by a plaque in the bar area . nsubjpass(born_VBN_2_10, Byrom_NNP_0_0); auxpass(born_VBN_2_10, was_VBD_1_6); prep(born_VBN_2_10, at_IN_3_15); punct(born_VBN_2_10, ,_,_25_127); cc(born_VBN_2_10, and_CC_26_129); conj(born_VBN_2_10, commemorated_VBN_30_146); punct(born_VBN_2_10, ._._38_187); pobj(at_IN_3_15, attraction_NN_24_116); dep(what_WP_4_18, is_VBZ_5_23); advmod(is_VBZ_5_23, now_RB_6_26); prep(is_VBZ_5_23, in_IN_13_64); dep(now_RB_6_26, Inn_NNP_9_45); det(Inn_NNP_9_45, the_DT_7_30); nn(Inn_NNP_9_45, Wellington_NNP_8_34); punct(Inn_NNP_9_45, ,_,_10_49); appos(Inn_NNP_9_45, Manchester_NNP_11_51); punct(Inn_NNP_9_45, ,_,_12_62); pobj(in_IN_13_64, 1692_CD_14_67); det(Inn_NNP_18_89, The_DT_16_74); nn(Inn_NNP_18_89, Wellington_NNP_17_78); dep(attraction_NN_24_116, what_WP_4_18); punct(attraction_NN_24_116, ,_,_15_72); nsubj(attraction_NN_24_116, Inn_NNP_18_89); cop(attraction_NN_24_116, is_VBZ_19_93); advmod(attraction_NN_24_116, now_RB_20_96); det(attraction_NN_24_116, a_DT_21_100); amod(attraction_NN_24_116, major_JJ_22_102); nn(attraction_NN_24_116, tourist_NN_23_108); poss(birth_NN_28_137, his_PRP$_27_133); nsubjpass(commemorated_VBN_30_146, birth_NN_28_137); auxpass(commemorated_VBN_30_146, is_VBZ_29_143); prep(commemorated_VBN_30_146, by_IN_31_159); pobj(by_IN_31_159, plaque_NN_33_164); det(plaque_NN_33_164, a_DT_32_162); prep(plaque_NN_33_164, in_IN_34_171); pobj(in_IN_34_171, area_NN_37_182); det(area_NN_37_182, the_DT_35_174); nn(area_NN_37_182, bar_NN_36_178) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9066414837593882 1.0 15 0.9375 (Guillermo Billinghurst; was overthrown on; February 4 , 1914) false false Guillermo Billinghurst was overthrown on February 4 , 1914 , in a military coup headed by colonel Oscar R. Benavides , Javier and Manuel Prado , and conservatives members of the Civilista Party . nn(Billinghurst_NNP_1_10, Guillermo_NNP_0_0); nsubjpass(overthrown_VBN_3_27, Billinghurst_NNP_1_10); auxpass(overthrown_VBN_3_27, was_VBD_2_23); prep(overthrown_VBN_3_27, on_IN_4_38); punct(overthrown_VBN_3_27, ,_,_9_59); prep(overthrown_VBN_3_27, in_IN_10_61); punct(overthrown_VBN_3_27, ,_,_25_143); cc(overthrown_VBN_3_27, and_CC_26_145); conj(overthrown_VBN_3_27, members_NNS_28_163); punct(overthrown_VBN_3_27, ._._33_194); pobj(on_IN_4_38, February_NNP_5_41); num(February_NNP_5_41, 4_CD_6_50); punct(February_NNP_5_41, ,_,_7_52); num(February_NNP_5_41, 1914_CD_8_54); pobj(in_IN_10_61, coup_NN_13_75); det(coup_NN_13_75, a_DT_11_64); amod(coup_NN_13_75, military_JJ_12_66); partmod(coup_NN_13_75, headed_VBN_14_80); prep(headed_VBN_14_80, by_IN_15_87); pobj(by_IN_15_87, Benavides_NNP_19_107); nn(Benavides_NNP_19_107, colonel_NN_16_90); nn(Benavides_NNP_19_107, Oscar_NNP_17_98); nn(Benavides_NNP_19_107, R._NNP_18_104); punct(Benavides_NNP_19_107, ,_,_20_117); conj(Benavides_NNP_19_107, Javier_NNP_21_119); cc(Benavides_NNP_19_107, and_CC_22_126); conj(Benavides_NNP_19_107, Prado_NNP_24_137); nn(Prado_NNP_24_137, Manuel_NNP_23_130); nn(members_NNS_28_163, conservatives_NNS_27_149); prep(members_NNS_28_163, of_IN_29_171); pobj(of_IN_29_171, Party_NNP_32_188); det(Party_NNP_32_188, the_DT_30_174); nn(Party_NNP_32_188, Civilista_NNP_31_178) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9066414837593882 1.0 16 0.9411764705882353 (Junge; was originally drafted in; the 1999 amateur draft) false false Junge was originally drafted by the Los Angeles Dodgers in the 1999 amateur draft and was then traded to the Philadelphia Phillies in . nsubjpass(drafted_VBN_3_21, Junge_NNP_0_0); auxpass(drafted_VBN_3_21, was_VBD_1_6); advmod(drafted_VBN_3_21, originally_RB_2_10); prep(drafted_VBN_3_21, by_IN_4_29); prep(drafted_VBN_3_21, in_IN_9_56); cc(drafted_VBN_3_21, and_CC_14_82); conj(drafted_VBN_3_21, traded_VBN_17_95); punct(drafted_VBN_3_21, ._._23_134); pobj(by_IN_4_29, Dodgers_NNP_8_48); det(Dodgers_NNP_8_48, the_DT_5_32); nn(Dodgers_NNP_8_48, Los_NNP_6_36); nn(Dodgers_NNP_8_48, Angeles_NNP_7_40); pobj(in_IN_9_56, draft_NN_13_76); det(draft_NN_13_76, the_DT_10_59); num(draft_NN_13_76, 1999_CD_11_63); amod(draft_NN_13_76, amateur_JJ_12_68); auxpass(traded_VBN_17_95, was_VBD_15_86); advmod(traded_VBN_17_95, then_RB_16_90); prep(traded_VBN_17_95, to_TO_18_102); prt(traded_VBN_17_95, in_IN_22_131); pobj(to_TO_18_102, Phillies_NNP_21_122); det(Phillies_NNP_21_122, the_DT_19_105); nn(Phillies_NNP_21_122, Philadelphia_NNP_20_109) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9066414837593882 1.0 17 0.9444444444444444 (The Breitling watchmaking company; was founded in; Saint-Imier) false false The Breitling watchmaking company was founded in Saint-Imier , but moved to Grenchen , Canton of Solothurn . det(company_NN_3_26, The_DT_0_0); nn(company_NN_3_26, Breitling_NNP_1_4); nn(company_NN_3_26, watchmaking_NN_2_14); nsubjpass(founded_VBN_5_38, company_NN_3_26); auxpass(founded_VBN_5_38, was_VBD_4_34); prep(founded_VBN_5_38, in_IN_6_46); punct(founded_VBN_5_38, ,_,_8_61); cc(founded_VBN_5_38, but_CC_9_63); conj(founded_VBN_5_38, moved_VBD_10_67); punct(founded_VBN_5_38, ._._17_107); pobj(in_IN_6_46, Saint-Imier_NNP_7_49); prep(moved_VBD_10_67, to_TO_11_73); pobj(to_TO_11_73, Grenchen_NNP_12_76); punct(Grenchen_NNP_12_76, ,_,_13_85); appos(Grenchen_NNP_12_76, Canton_NNP_14_87); prep(Canton_NNP_14_87, of_IN_15_94); pobj(of_IN_15_94, Solothurn_NNP_16_97) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9043904093256648 0.7345 18 0.9473684210526315 (Cordis; sold its pacemaker operations two years ago to; Telectronics Holding Ltd. of Australia) false false Cordis sold its pacemaker operations two years ago to Telectronics Holding Ltd. of Australia . nsubj(sold_VBD_1_7, Cordis_NNP_0_0); dobj(sold_VBD_1_7, operations_NNS_4_26); advmod(sold_VBD_1_7, ago_RB_7_47); prep(sold_VBD_1_7, to_TO_8_51); punct(sold_VBD_1_7, ._._14_93); poss(operations_NNS_4_26, its_PRP$_2_12); nn(operations_NNS_4_26, pacemaker_NN_3_16); num(years_NNS_6_41, two_CD_5_37); dep(ago_RB_7_47, years_NNS_6_41); pobj(to_TO_8_51, Ltd._NNP_11_75); nn(Ltd._NNP_11_75, Telectronics_NNP_9_54); nn(Ltd._NNP_11_75, Holding_NNP_10_67); prep(Ltd._NNP_11_75, of_IN_12_80); pobj(of_IN_12_80, Australia_NNP_13_83) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.9043904093256648 0.7345 19 0.95 (He; replaced Jonathan Groff in; the Broadway production of the musical Spring Awakening) false false He replaced Jonathan Groff in the Broadway production of the musical Spring Awakening , in the lead role of Melchior Gabor , on May 23 2008 . nsubj(replaced_VBD_1_3, He_PRP_0_0); dobj(replaced_VBD_1_3, Groff_NNP_3_21); prep(replaced_VBD_1_3, in_IN_4_27); punct(replaced_VBD_1_3, ,_,_13_86); prep(replaced_VBD_1_3, in_IN_14_88); punct(replaced_VBD_1_3, ._._26_140); nn(Groff_NNP_3_21, Jonathan_NNP_2_12); pobj(in_IN_4_27, production_NN_7_43); det(production_NN_7_43, the_DT_5_30); nn(production_NN_7_43, Broadway_NNP_6_34); prep(production_NN_7_43, of_IN_8_54); pobj(of_IN_8_54, Awakening_NN_12_76); det(Awakening_NN_12_76, the_DT_9_57); amod(Awakening_NN_12_76, musical_JJ_10_61); nn(Awakening_NN_12_76, Spring_NNP_11_69); pobj(in_IN_14_88, role_NN_17_100); det(role_NN_17_100, the_DT_15_91); amod(role_NN_17_100, lead_JJ_16_95); prep(role_NN_17_100, of_IN_18_105); punct(role_NN_17_100, ,_,_21_123); prep(role_NN_17_100, on_IN_22_125); pobj(of_IN_18_105, Gabor_NNP_20_117); nn(Gabor_NNP_20_117, Melchior_NNP_19_108); pobj(on_IN_22_125, May_NNP_23_128); num(May_NNP_23_128, 2008_CD_25_135); number(2008_CD_25_135, 23_CD_24_132) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.9043904093256648 0.7345 20 0.9523809523809523 (He; replaced Jonathan Groff in; the lead role of Melchior Gabor) false false He replaced Jonathan Groff in the Broadway production of the musical Spring Awakening , in the lead role of Melchior Gabor , on May 23 2008 . nsubj(replaced_VBD_1_3, He_PRP_0_0); dobj(replaced_VBD_1_3, Groff_NNP_3_21); prep(replaced_VBD_1_3, in_IN_4_27); punct(replaced_VBD_1_3, ,_,_13_86); prep(replaced_VBD_1_3, in_IN_14_88); punct(replaced_VBD_1_3, ._._26_140); nn(Groff_NNP_3_21, Jonathan_NNP_2_12); pobj(in_IN_4_27, production_NN_7_43); det(production_NN_7_43, the_DT_5_30); nn(production_NN_7_43, Broadway_NNP_6_34); prep(production_NN_7_43, of_IN_8_54); pobj(of_IN_8_54, Awakening_NN_12_76); det(Awakening_NN_12_76, the_DT_9_57); amod(Awakening_NN_12_76, musical_JJ_10_61); nn(Awakening_NN_12_76, Spring_NNP_11_69); pobj(in_IN_14_88, role_NN_17_100); det(role_NN_17_100, the_DT_15_91); amod(role_NN_17_100, lead_JJ_16_95); prep(role_NN_17_100, of_IN_18_105); punct(role_NN_17_100, ,_,_21_123); prep(role_NN_17_100, on_IN_22_125); pobj(of_IN_18_105, Gabor_NNP_20_117); nn(Gabor_NNP_20_117, Melchior_NNP_19_108); pobj(on_IN_22_125, May_NNP_23_128); num(May_NNP_23_128, 2008_CD_25_135); number(2008_CD_25_135, 23_CD_24_132) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.9034960676137963 0.7345 21 0.9545454545454546 (Sony Columbia Acquisition Corp.; formed for; the Columbia deal)[attrib=a spokesman said] false true Sony Columbia Acquisition Corp. , formed for the Columbia deal , will formally take ownership of the movie studio later this month , a spokesman said . nn(Corp._NNP_3_26, Sony_NNP_0_0); nn(Corp._NNP_3_26, Columbia_NNP_1_5); nn(Corp._NNP_3_26, Acquisition_NNP_2_14); punct(Corp._NNP_3_26, ,_,_4_32); nsubj(formed_VBD_5_34, Corp._NNP_3_26); prep(formed_VBD_5_34, for_IN_6_41); punct(formed_VBD_5_34, ,_,_10_63); conj(formed_VBD_5_34, take_VB_13_79); pobj(for_IN_6_41, deal_NN_9_58); det(deal_NN_9_58, the_DT_7_45); nn(deal_NN_9_58, Columbia_NNP_8_49); aux(take_VB_13_79, will_MD_11_65); advmod(take_VB_13_79, formally_RB_12_70); dobj(take_VB_13_79, ownership_NN_14_84); tmod(take_VB_13_79, month_NN_21_125); prep(ownership_NN_14_84, of_IN_15_94); pobj(of_IN_15_94, studio_NN_18_107); det(studio_NN_18_107, the_DT_16_97); nn(studio_NN_18_107, movie_NN_17_101); advmod(month_NN_21_125, later_RB_19_114); det(month_NN_21_125, this_DT_20_120); det(spokesman_NN_24_135, a_DT_23_133); ccomp(said_VBD_25_145, formed_VBD_5_34); punct(said_VBD_25_145, ,_,_22_131); nsubj(said_VBD_25_145, spokesman_NN_24_135); punct(said_VBD_25_145, ._._26_150) 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.9029376545659042 1.0 22 0.9565217391304348 (The Dynix corporation; was formed by; the merger of the Sirsi and Dynix corporations) false false The Dynix corporation was founded in 1983 , and SirsiDynix was formed by the merger of the Sirsi and Dynix corporations in June 2005 . det(corporation_NN_2_10, The_DT_0_0); nn(corporation_NN_2_10, Dynix_NNP_1_4); nsubjpass(founded_VBN_4_26, corporation_NN_2_10); auxpass(founded_VBN_4_26, was_VBD_3_22); prep(founded_VBN_4_26, in_IN_5_34); punct(founded_VBN_4_26, ,_,_7_42); cc(founded_VBN_4_26, and_CC_8_44); conj(founded_VBN_4_26, formed_VBN_11_63); punct(founded_VBN_4_26, ._._24_133); pobj(in_IN_5_34, 1983_CD_6_37); nsubjpass(formed_VBN_11_63, SirsiDynix_NNP_9_48); auxpass(formed_VBN_11_63, was_VBD_10_59); prep(formed_VBN_11_63, by_IN_12_70); prep(formed_VBN_11_63, in_IN_21_120); pobj(by_IN_12_70, merger_NN_14_77); det(merger_NN_14_77, the_DT_13_73); prep(merger_NN_14_77, of_IN_15_84); pobj(of_IN_15_84, corporations_NNS_20_107); cc(Sirsi_NNP_17_91, and_CC_18_97); conj(Sirsi_NNP_17_91, Dynix_NNP_19_101); det(corporations_NNS_20_107, the_DT_16_87); nn(corporations_NNS_20_107, Sirsi_NNP_17_91); pobj(in_IN_21_120, June_NNP_22_123); num(June_NNP_22_123, 2005_CD_23_128) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0 0.8982644762089621 0.7345 22 0.9166666666666666 (hybrid sterility; pseudoobscura results from gene interactions among; at least four loci) false false For example , hybrid sterility between two subspecies of the fruit fly Drosophila pseudoobscura results from gene interactions among at least four loci , and postzygotic isolation in the sunflower hybrid zone discussed earlier is influenced by at least 26 chromosome segments . pobj(For_IN_0_0, example_NN_1_4); prep(sterility_NN_4_21, For_IN_0_0); punct(sterility_NN_4_21, ,_,_2_12); amod(sterility_NN_4_21, hybrid_JJ_3_14); prep(sterility_NN_4_21, between_IN_5_31); pobj(between_IN_5_31, subspecies_NNS_7_43); num(subspecies_NNS_7_43, two_CD_6_39); prep(subspecies_NNS_7_43, of_IN_8_54); pobj(of_IN_8_54, Drosophila_NNP_12_71); det(Drosophila_NNP_12_71, the_DT_9_57); nn(Drosophila_NNP_12_71, fruit_NN_10_61); nn(Drosophila_NNP_12_71, fly_NN_11_67); nsubj(pseudoobscura_VBD_13_82, sterility_NN_4_21); dobj(pseudoobscura_VBD_13_82, results_NNS_14_96); prep(pseudoobscura_VBD_13_82, among_IN_18_127); punct(pseudoobscura_VBD_13_82, ,_,_23_152); cc(pseudoobscura_VBD_13_82, and_CC_24_154); conj(pseudoobscura_VBD_13_82, isolation_NN_26_170); punct(pseudoobscura_VBD_13_82, ._._42_276); prep(results_NNS_14_96, from_IN_15_104); pobj(from_IN_15_104, interactions_NNS_17_114); nn(interactions_NNS_17_114, gene_NN_16_109); pobj(among_IN_18_127, loci_NNS_22_147); dep(at_IN_19_133, least_JJS_20_136); quantmod(four_CD_21_142, at_IN_19_133); num(loci_NNS_22_147, four_CD_21_142); amod(isolation_NN_26_170, postzygotic_JJ_25_158); dep(isolation_NN_26_170, influenced_VBN_35_230); det(zone_NN_31_204, the_DT_28_183); nn(zone_NN_31_204, sunflower_NN_29_187); nn(zone_NN_31_204, hybrid_NN_30_197); mark(influenced_VBN_35_230, in_IN_27_180); nsubjpass(influenced_VBN_35_230, zone_NN_31_204); auxpass(influenced_VBN_35_230, discussed_VBN_32_209); advmod(influenced_VBN_35_230, earlier_RB_33_219); auxpass(influenced_VBN_35_230, is_VBZ_34_227); prep(influenced_VBN_35_230, by_IN_36_241); pobj(by_IN_36_241, segments_NNS_41_267); dep(at_IN_37_244, least_JJS_38_247); quantmod(26_CD_39_253, at_IN_37_244); num(segments_NNS_41_267, 26_CD_39_253); nn(segments_NNS_41_267, chromosome_NN_40_256) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8982644762089621 0.7345 23 0.92 (shareholder Max Grill of New York; charged Imperial , its top executives and directors with; breach of fiduciary duty) false false In a separate complaint also filed in federal court here , shareholder Max Grill of New York charged Imperial , its top executives and directors with breach of fiduciary duty and squandering the company 's assets . pobj(In_IN_0_0, complaint_NN_3_14); det(complaint_NN_3_14, a_DT_1_3); amod(complaint_NN_3_14, separate_JJ_2_5); partmod(complaint_NN_3_14, filed_VBN_5_29); advmod(complaint_NN_3_14, here_RB_9_52); advmod(filed_VBN_5_29, also_RB_4_24); prep(filed_VBN_5_29, in_IN_6_35); pobj(in_IN_6_35, court_NN_8_46); amod(court_NN_8_46, federal_JJ_7_38); nn(Grill_NNP_13_75, shareholder_NN_11_59); nn(Grill_NNP_13_75, Max_NNP_12_71); prep(Grill_NNP_13_75, of_IN_14_81); pobj(of_IN_14_81, York_NNP_16_88); nn(York_NNP_16_88, New_NNP_15_84); prep(charged_VBD_17_93, In_IN_0_0); punct(charged_VBD_17_93, ,_,_10_57); nsubj(charged_VBD_17_93, Grill_NNP_13_75); dobj(charged_VBD_17_93, Imperial_NNP_18_101); prep(charged_VBD_17_93, with_IN_25_145); cc(charged_VBD_17_93, and_CC_30_175); conj(charged_VBD_17_93, squandering_VBG_31_179); punct(charged_VBD_17_93, ._._36_213); punct(Imperial_NNP_18_101, ,_,_19_110); appos(Imperial_NNP_18_101, executives_NNS_22_120); poss(executives_NNS_22_120, its_PRP$_20_112); amod(executives_NNS_22_120, top_JJ_21_116); cc(executives_NNS_22_120, and_CC_23_131); conj(executives_NNS_22_120, directors_NNS_24_135); pobj(with_IN_25_145, breach_NN_26_150); prep(breach_NN_26_150, of_IN_27_157); pobj(of_IN_27_157, duty_NN_29_170); amod(duty_NN_29_170, fiduciary_JJ_28_160); dobj(squandering_VBG_31_179, assets_NNS_35_206); det(company_NN_33_195, the_DT_32_191); possessive(company_NN_33_195, 's_POS_34_203); poss(assets_NNS_35_206, company_NN_33_195) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8970518314603465 0.7345 24 0.9230769230769231 (the band; struggled without; the help of a booking agent) false false As the band struggled to find support slots on upcoming tours without the help of a booking agent , they played locally in Southern California throughout the winter of 2004 and the spring of 2005 . det(band_NN_2_7, the_DT_1_3); mark(struggled_VBD_3_12, As_IN_0_0); nsubj(struggled_VBD_3_12, band_NN_2_7); xcomp(struggled_VBD_3_12, find_VB_5_25); prep(struggled_VBD_3_12, without_IN_11_62); aux(find_VB_5_25, to_TO_4_22); dobj(find_VB_5_25, slots_NNS_7_38); nn(slots_NNS_7_38, support_NN_6_30); prep(slots_NNS_7_38, on_IN_8_44); pobj(on_IN_8_44, tours_NNS_10_56); nn(tours_NNS_10_56, upcoming_NN_9_47); pobj(without_IN_11_62, help_NN_13_74); det(help_NN_13_74, the_DT_12_70); prep(help_NN_13_74, of_IN_14_79); pobj(of_IN_14_79, agent_NN_17_92); det(agent_NN_17_92, a_DT_15_82); nn(agent_NN_17_92, booking_NN_16_84); advcl(played_VBD_20_105, struggled_VBD_3_12); punct(played_VBD_20_105, ,_,_18_98); nsubj(played_VBD_20_105, they_PRP_19_100); advmod(played_VBD_20_105, locally_RB_21_112); prep(played_VBD_20_105, in_IN_22_120); prep(played_VBD_20_105, throughout_IN_25_143); punct(played_VBD_20_105, ._._35_196); pobj(in_IN_22_120, California_NNP_24_132); amod(California_NNP_24_132, Southern_JJ_23_123); pobj(throughout_IN_25_143, winter_NN_27_158); det(winter_NN_27_158, the_DT_26_154); prep(winter_NN_27_158, of_IN_28_165); cc(winter_NN_27_158, and_CC_30_173); conj(winter_NN_27_158, spring_NN_32_181); pobj(of_IN_28_165, 2004_CD_29_168); det(spring_NN_32_181, the_DT_31_177); prep(spring_NN_32_181, of_IN_33_188); pobj(of_IN_33_188, 2005_CD_34_191) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8953292670090802 0.9555 25 0.9259259259259259 (Cephalopods; are the only molluscs with; a closed circulatory system which the blood remains separate from fluid in the body cavity) false false Cephalopods are the only molluscs with a closed circulatory system , in which the blood remains separate from fluid in the body cavity . nsubj(molluscs_NNS_4_25, Cephalopods_NNS_0_0); cop(molluscs_NNS_4_25, are_VBP_1_12); det(molluscs_NNS_4_25, the_DT_2_16); amod(molluscs_NNS_4_25, only_JJ_3_20); prep(molluscs_NNS_4_25, with_IN_5_34); punct(molluscs_NNS_4_25, ._._23_135); pobj(with_IN_5_34, system_NN_9_60); det(system_NN_9_60, a_DT_6_39); amod(system_NN_9_60, closed_JJ_7_41); nn(system_NN_9_60, circulatory_NN_8_48); punct(system_NN_9_60, ,_,_10_67); rcmod(system_NN_9_60, separate_JJ_16_96); pobj(in_IN_11_69, which_WDT_12_72); det(blood_NN_14_82, the_DT_13_78); rel(separate_JJ_16_96, in_IN_11_69); nsubj(separate_JJ_16_96, blood_NN_14_82); cop(separate_JJ_16_96, remains_VBZ_15_88); prep(separate_JJ_16_96, from_IN_17_105); prep(separate_JJ_16_96, in_IN_19_116); pobj(from_IN_17_105, fluid_NN_18_110); pobj(in_IN_19_116, cavity_NN_22_128); det(cavity_NN_22_128, the_DT_20_119); nn(cavity_NN_22_128, body_NN_21_123) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.9555 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.894287106087327 1.0 26 0.9285714285714286 (Guillermo Billinghurst; was overthrown in; a military coup headed by colonel Oscar R. Benavides , Javier and Manuel Prado) false false Guillermo Billinghurst was overthrown on February 4 , 1914 , in a military coup headed by colonel Oscar R. Benavides , Javier and Manuel Prado , and conservatives members of the Civilista Party . nn(Billinghurst_NNP_1_10, Guillermo_NNP_0_0); nsubjpass(overthrown_VBN_3_27, Billinghurst_NNP_1_10); auxpass(overthrown_VBN_3_27, was_VBD_2_23); prep(overthrown_VBN_3_27, on_IN_4_38); punct(overthrown_VBN_3_27, ,_,_9_59); prep(overthrown_VBN_3_27, in_IN_10_61); punct(overthrown_VBN_3_27, ,_,_25_143); cc(overthrown_VBN_3_27, and_CC_26_145); conj(overthrown_VBN_3_27, members_NNS_28_163); punct(overthrown_VBN_3_27, ._._33_194); pobj(on_IN_4_38, February_NNP_5_41); num(February_NNP_5_41, 4_CD_6_50); punct(February_NNP_5_41, ,_,_7_52); num(February_NNP_5_41, 1914_CD_8_54); pobj(in_IN_10_61, coup_NN_13_75); det(coup_NN_13_75, a_DT_11_64); amod(coup_NN_13_75, military_JJ_12_66); partmod(coup_NN_13_75, headed_VBN_14_80); prep(headed_VBN_14_80, by_IN_15_87); pobj(by_IN_15_87, Benavides_NNP_19_107); nn(Benavides_NNP_19_107, colonel_NN_16_90); nn(Benavides_NNP_19_107, Oscar_NNP_17_98); nn(Benavides_NNP_19_107, R._NNP_18_104); punct(Benavides_NNP_19_107, ,_,_20_117); conj(Benavides_NNP_19_107, Javier_NNP_21_119); cc(Benavides_NNP_19_107, and_CC_22_126); conj(Benavides_NNP_19_107, Prado_NNP_24_137); nn(Prado_NNP_24_137, Manuel_NNP_23_130); nn(members_NNS_28_163, conservatives_NNS_27_149); prep(members_NNS_28_163, of_IN_29_171); pobj(of_IN_29_171, Party_NNP_32_188); det(Party_NNP_32_188, the_DT_30_174); nn(Party_NNP_32_188, Civilista_NNP_31_178) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.894287106087327 1.0 27 0.9310344827586207 (Lowery; was elected in; a special election to fill the unexpired term of James Eagan) false false Lowery was elected Mayor on Feburay 6th 2001 in a special election to fill the unexpired term of James Eagan . nsubjpass(elected_VBN_2_11, Lowery_NNP_0_0); auxpass(elected_VBN_2_11, was_VBD_1_7); dep(elected_VBN_2_11, 6th_JJ_6_36); prep(elected_VBN_2_11, in_IN_8_45); punct(elected_VBN_2_11, ._._20_109); prep(Mayor_NNP_3_19, on_IN_4_25); pobj(on_IN_4_25, Feburay_NNP_5_28); dep(6th_JJ_6_36, Mayor_NNP_3_19); tmod(6th_JJ_6_36, 2001_CD_7_40); pobj(in_IN_8_45, election_NN_11_58); det(election_NN_11_58, a_DT_9_48); amod(election_NN_11_58, special_JJ_10_50); infmod(election_NN_11_58, fill_VB_13_70); aux(fill_VB_13_70, to_TO_12_67); dobj(fill_VB_13_70, term_NN_16_89); det(term_NN_16_89, the_DT_14_75); amod(term_NN_16_89, unexpired_JJ_15_79); prep(term_NN_16_89, of_IN_17_94); pobj(of_IN_17_94, Eagan_NNP_19_103); nn(Eagan_NNP_19_103, James_NNP_18_97) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8840751567640979 1.0 28 0.9333333333333333 (Denis C. Smith; was named to; the new post of vice president of world-wide advanced materials operations) false false Denis C. Smith was named to the new post of vice president of world-wide advanced materials operations for this chemicals concern . nn(Smith_NNP_2_9, Denis_NNP_0_0); nn(Smith_NNP_2_9, C._NNP_1_6); nsubjpass(named_VBN_4_19, Smith_NNP_2_9); auxpass(named_VBN_4_19, was_VBD_3_15); prep(named_VBN_4_19, to_TO_5_25); prep(named_VBN_4_19, for_IN_17_103); punct(named_VBN_4_19, ._._21_130); pobj(to_TO_5_25, post_NN_8_36); det(post_NN_8_36, the_DT_6_28); amod(post_NN_8_36, new_JJ_7_32); prep(post_NN_8_36, of_IN_9_41); pobj(of_IN_9_41, president_NN_11_49); nn(president_NN_11_49, vice_NN_10_44); prep(president_NN_11_49, of_IN_12_59); pobj(of_IN_12_59, operations_NNS_16_92); amod(operations_NNS_16_92, world-wide_JJ_13_62); amod(operations_NNS_16_92, advanced_JJ_14_73); nn(operations_NNS_16_92, materials_NNS_15_82); pobj(for_IN_17_103, concern_NN_20_122); det(concern_NN_20_122, this_DT_18_107); nn(concern_NN_20_122, chemicals_NNS_19_112) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8833999973995464 0.3797 29 0.9354838709677419 (it; completed; the previously announced purchase of Imperial Cup Corp.)[attrib=Federal Paper Board Co. said] false true Federal Paper Board Co. said it completed the previously announced purchase of Imperial Cup Corp. , a closely held maker of paper cups based in Kenton , Ohio . nn(Co._NNP_3_20, Federal_NNP_0_0); nn(Co._NNP_3_20, Paper_NNP_1_8); nn(Co._NNP_3_20, Board_NNP_2_14); nsubj(said_VBD_4_24, Co._NNP_3_20); ccomp(said_VBD_4_24, completed_VBD_6_32); punct(said_VBD_4_24, ._._28_158); nsubj(completed_VBD_6_32, it_PRP_5_29); dobj(completed_VBD_6_32, purchase_NN_10_67); advmod(announced_VBN_9_57, previously_RB_8_46); det(purchase_NN_10_67, the_DT_7_42); amod(purchase_NN_10_67, announced_VBN_9_57); prep(purchase_NN_10_67, of_IN_11_76); pobj(of_IN_11_76, Corp._NNP_14_92); nn(Corp._NNP_14_92, Imperial_NNP_12_79); nn(Corp._NNP_14_92, Cup_NNP_13_88); punct(Corp._NNP_14_92, ,_,_15_98); appos(Corp._NNP_14_92, maker_NN_19_115); advmod(held_VBN_18_110, closely_RB_17_102); det(maker_NN_19_115, a_DT_16_100); amod(maker_NN_19_115, held_VBN_18_110); prep(maker_NN_19_115, of_IN_20_121); pobj(of_IN_20_121, cups_NNS_22_130); nn(cups_NNS_22_130, paper_NN_21_124); partmod(cups_NNS_22_130, based_VBN_23_135); prep(based_VBN_23_135, in_IN_24_141); pobj(in_IN_24_141, Kenton_NNP_25_144); punct(Kenton_NNP_25_144, ,_,_26_151); appos(Kenton_NNP_25_144, Ohio_NNP_27_153) 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.3797 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
0 0.8832630553504159 1.0 29 0.90625 (Denis C. Smith; was named for; this chemicals concern) false false Denis C. Smith was named to the new post of vice president of world-wide advanced materials operations for this chemicals concern . nn(Smith_NNP_2_9, Denis_NNP_0_0); nn(Smith_NNP_2_9, C._NNP_1_6); nsubjpass(named_VBN_4_19, Smith_NNP_2_9); auxpass(named_VBN_4_19, was_VBD_3_15); prep(named_VBN_4_19, to_TO_5_25); prep(named_VBN_4_19, for_IN_17_103); punct(named_VBN_4_19, ._._21_130); pobj(to_TO_5_25, post_NN_8_36); det(post_NN_8_36, the_DT_6_28); amod(post_NN_8_36, new_JJ_7_32); prep(post_NN_8_36, of_IN_9_41); pobj(of_IN_9_41, president_NN_11_49); nn(president_NN_11_49, vice_NN_10_44); prep(president_NN_11_49, of_IN_12_59); pobj(of_IN_12_59, operations_NNS_16_92); amod(operations_NNS_16_92, world-wide_JJ_13_62); amod(operations_NNS_16_92, advanced_JJ_14_73); nn(operations_NNS_16_92, materials_NNS_15_82); pobj(for_IN_17_103, concern_NN_20_122); det(concern_NN_20_122, this_DT_18_107); nn(concern_NN_20_122, chemicals_NNS_19_112) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0 0.8832630553504159 1.0 29 0.8787878787878788 (He; was descended an old aristocratic family from Mecklenburg from; the B low family) false false He was descended from the B low family , an old aristocratic family from Mecklenburg . nsubjpass(descended_VBN_2_7, He_PRP_0_0); auxpass(descended_VBN_2_7, was_VBD_1_3); prep(descended_VBN_2_7, from_IN_3_17); punct(descended_VBN_2_7, ,_,_8_39); dobj(descended_VBN_2_7, family_NN_12_61); punct(descended_VBN_2_7, ._._15_85); pobj(from_IN_3_17, family_NN_7_32); det(family_NN_7_32, the_DT_4_22); nn(family_NN_7_32, B_NNP_5_26); amod(family_NN_7_32, low_JJ_6_28); det(family_NN_12_61, an_DT_9_41); amod(family_NN_12_61, old_JJ_10_44); amod(family_NN_12_61, aristocratic_JJ_11_48); prep(family_NN_12_61, from_IN_13_68); pobj(from_IN_13_68, Mecklenburg_NNP_14_73) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8832630553504159 1.0 30 0.8823529411764706 (She; was born in; Berkeley) false false She was born April 3 , 1951 in Berkeley , California . nsubjpass(born_VBN_2_8, She_PRP_0_0); auxpass(born_VBN_2_8, was_VBD_1_4); tmod(born_VBN_2_8, April_NNP_3_13); prep(born_VBN_2_8, in_IN_7_28); punct(born_VBN_2_8, ._._11_52); num(April_NNP_3_13, 3_CD_4_19); punct(April_NNP_3_13, ,_,_5_21); num(April_NNP_3_13, 1951_CD_6_23); pobj(in_IN_7_28, Berkeley_NNP_8_31); punct(Berkeley_NNP_8_31, ,_,_9_39); appos(Berkeley_NNP_8_31, California_NNP_10_41) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0 0.8832630553504159 1.0 30 0.8571428571428571 (The Dynix corporation; was formed in; June 2005) false false The Dynix corporation was founded in 1983 , and SirsiDynix was formed by the merger of the Sirsi and Dynix corporations in June 2005 . det(corporation_NN_2_10, The_DT_0_0); nn(corporation_NN_2_10, Dynix_NNP_1_4); nsubjpass(founded_VBN_4_26, corporation_NN_2_10); auxpass(founded_VBN_4_26, was_VBD_3_22); prep(founded_VBN_4_26, in_IN_5_34); punct(founded_VBN_4_26, ,_,_7_42); cc(founded_VBN_4_26, and_CC_8_44); conj(founded_VBN_4_26, formed_VBN_11_63); punct(founded_VBN_4_26, ._._24_133); pobj(in_IN_5_34, 1983_CD_6_37); nsubjpass(formed_VBN_11_63, SirsiDynix_NNP_9_48); auxpass(formed_VBN_11_63, was_VBD_10_59); prep(formed_VBN_11_63, by_IN_12_70); prep(formed_VBN_11_63, in_IN_21_120); pobj(by_IN_12_70, merger_NN_14_77); det(merger_NN_14_77, the_DT_13_73); prep(merger_NN_14_77, of_IN_15_84); pobj(of_IN_15_84, corporations_NNS_20_107); cc(Sirsi_NNP_17_91, and_CC_18_97); conj(Sirsi_NNP_17_91, Dynix_NNP_19_101); det(corporations_NNS_20_107, the_DT_16_87); nn(corporations_NNS_20_107, Sirsi_NNP_17_91); pobj(in_IN_21_120, June_NNP_22_123); num(June_NNP_22_123, 2005_CD_23_128) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8790036637975921 0.3797 31 0.8611111111111112 (Researchers; placed; identical samples of organic material) false false Researchers with the Canadian Forest Service placed identical samples of organic material -- litter -- on the ground in 21 sites across Canada . prep(Researchers_NNS_0_0, with_IN_1_12); pobj(with_IN_1_12, Service_NNP_5_37); det(Service_NNP_5_37, the_DT_2_17); nn(Service_NNP_5_37, Canadian_NNP_3_21); nn(Service_NNP_5_37, Forest_NNP_4_30); nsubj(placed_VBD_6_45, Researchers_NNS_0_0); dobj(placed_VBD_6_45, samples_NNS_8_62); prep(placed_VBD_6_45, on_IN_15_103); punct(placed_VBD_6_45, ._._23_143); amod(samples_NNS_8_62, identical_JJ_7_52); prep(samples_NNS_8_62, of_IN_9_70); dep(samples_NNS_8_62, litter_JJ_13_93); pobj(of_IN_9_70, material_NN_11_81); amod(material_NN_11_81, organic_JJ_10_73); punct(litter_JJ_13_93, --_:_12_90); punct(litter_JJ_13_93, --_:_14_100); pobj(on_IN_15_103, ground_NN_17_110); det(ground_NN_17_110, the_DT_16_106); prep(ground_NN_17_110, in_IN_18_117); pobj(in_IN_18_117, sites_NNS_20_123); num(sites_NNS_20_123, 21_CD_19_120); prep(sites_NNS_20_123, across_IN_21_129); pobj(across_IN_21_129, Canada_NNP_22_136) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.3797 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.875969090413861 1.0 32 0.8648648648648649 (Drop Trio; was asked by; SugarHill Recording Studios) false false Also , although unreleased as of 2009 , Drop Trio was asked by SugarHill Recording Studios , in 2003 , to record a song by Destiny 's Child for an upcoming compilation CD to be released by the studio . prep(unreleased_JJ_3_16, as_IN_4_27); dep(as_IN_4_27, of_IN_5_30); pobj(of_IN_5_30, 2009_CD_6_33); nn(Trio_NNP_9_45, Drop_NNP_8_40); mark(asked_VBN_11_54, although_IN_2_7); nsubjpass(asked_VBN_11_54, unreleased_JJ_3_16); punct(asked_VBN_11_54, ,_,_7_38); nsubjpass(asked_VBN_11_54, Trio_NNP_9_45); auxpass(asked_VBN_11_54, was_VBD_10_50); prep(asked_VBN_11_54, by_IN_12_60); pobj(by_IN_12_60, Studios_NNP_15_83); nn(Studios_NNP_15_83, SugarHill_NNP_13_63); nn(Studios_NNP_15_83, Recording_NNP_14_73); pobj(in_IN_17_93, 2003_CD_18_96); advmod(record_VB_21_106, Also_RB_0_0); punct(record_VB_21_106, ,_,_1_5); dep(record_VB_21_106, asked_VBN_11_54); punct(record_VB_21_106, ,_,_16_91); prep(record_VB_21_106, in_IN_17_93); punct(record_VB_21_106, ,_,_19_101); aux(record_VB_21_106, to_TO_20_103); dobj(record_VB_21_106, song_NN_23_115); prep(record_VB_21_106, by_IN_24_120); prep(record_VB_21_106, for_IN_28_140); punct(record_VB_21_106, ._._39_200); det(song_NN_23_115, a_DT_22_113); pobj(by_IN_24_120, Child_NN_27_134); possessive(Destiny_NNP_25_123, 's_POS_26_131); poss(Child_NN_27_134, Destiny_NNP_25_123); pobj(for_IN_28_140, CD_NN_32_168); det(CD_NN_32_168, an_DT_29_144); amod(CD_NN_32_168, upcoming_JJ_30_147); nn(CD_NN_32_168, compilation_NN_31_156); infmod(CD_NN_32_168, released_VBN_35_177); aux(released_VBN_35_177, to_TO_33_171); auxpass(released_VBN_35_177, be_VB_34_174); prep(released_VBN_35_177, by_IN_36_186); pobj(by_IN_36_186, studio_NN_38_193); det(studio_NN_38_193, the_DT_37_189) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.875969090413861 1.0 33 0.868421052631579 (the Australian Black Swan; was introduced as; an ornamental waterfowl) false false In 1864 , the Australian Black Swan was introduced to New Zealand as an ornamental waterfowl , and populations are now common on larger coastal or inland lakes , especially Rotorua Lakes , Lake Wairarapa and Lake Ellesmere , and the Chatham Islands . pobj(In_IN_0_0, 1864_CD_1_3); det(Swan_NNP_6_31, the_DT_3_10); nn(Swan_NNP_6_31, Australian_NNP_4_14); nn(Swan_NNP_6_31, Black_NNP_5_25); prep(introduced_VBN_8_40, In_IN_0_0); punct(introduced_VBN_8_40, ,_,_2_8); nsubjpass(introduced_VBN_8_40, Swan_NNP_6_31); auxpass(introduced_VBN_8_40, was_VBD_7_36); prep(introduced_VBN_8_40, to_TO_9_51); prep(introduced_VBN_8_40, as_IN_12_66); punct(introduced_VBN_8_40, ,_,_16_93); cc(introduced_VBN_8_40, and_CC_17_95); conj(introduced_VBN_8_40, common_JJ_21_119); punct(introduced_VBN_8_40, ,_,_38_223); cc(introduced_VBN_8_40, and_CC_39_225); conj(introduced_VBN_8_40, Islands_NNP_42_241); punct(introduced_VBN_8_40, ._._43_249); pobj(to_TO_9_51, Zealand_NNP_11_58); nn(Zealand_NNP_11_58, New_NNP_10_54); pobj(as_IN_12_66, waterfowl_NN_15_83); det(waterfowl_NN_15_83, an_DT_13_69); amod(waterfowl_NN_15_83, ornamental_JJ_14_72); nsubj(common_JJ_21_119, populations_NNS_18_99); cop(common_JJ_21_119, are_VBP_19_111); advmod(common_JJ_21_119, now_RB_20_115); prep(common_JJ_21_119, on_IN_22_126); pobj(on_IN_22_126, coastal_NN_24_136); amod(coastal_NN_24_136, larger_JJR_23_129); cc(coastal_NN_24_136, or_CC_25_144); conj(coastal_NN_24_136, lakes_NNS_27_154); punct(coastal_NN_24_136, ,_,_28_160); appos(coastal_NN_24_136, Lakes_NNP_31_181); nn(lakes_NNS_27_154, inland_NN_26_147); advmod(Lakes_NNP_31_181, especially_RB_29_162); nn(Lakes_NNP_31_181, Rotorua_NNP_30_173); punct(Lakes_NNP_31_181, ,_,_32_187); conj(Lakes_NNP_31_181, Wairarapa_NNP_34_194); cc(Lakes_NNP_31_181, and_CC_35_204); conj(Lakes_NNP_31_181, Ellesmere_NNP_37_213); nn(Wairarapa_NNP_34_194, Lake_NNP_33_189); nn(Ellesmere_NNP_37_213, Lake_NNP_36_208); det(Islands_NNP_42_241, the_DT_40_229); nn(Islands_NNP_42_241, Chatham_NNP_41_233) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8738004889069181 0.7345 34 0.8717948717948718 (Italy 's unemployment rate; rose to; 12 % of the labor force) false false Italy 's unemployment rate rose to 12 % of the labor force in July from 11.9 % in April , and was up from 11.7 % a year earlier , according to quarterly figures from the state statistical institute . possessive(Italy_NNP_0_0, 's_POS_1_6); poss(rate_NN_3_22, Italy_NNP_0_0); nn(rate_NN_3_22, unemployment_NN_2_9); nsubj(rose_VBD_4_27, rate_NN_3_22); prep(rose_VBD_4_27, to_TO_5_32); prep(rose_VBD_4_27, in_IN_12_59); prep(rose_VBD_4_27, from_IN_14_67); prep(rose_VBD_4_27, in_IN_17_79); punct(rose_VBD_4_27, ,_,_19_88); cc(rose_VBD_4_27, and_CC_20_90); conj(rose_VBD_4_27, was_VBD_21_94); punct(rose_VBD_4_27, ,_,_29_128); prep(rose_VBD_4_27, according_VBG_30_130); punct(rose_VBD_4_27, ._._39_198); pobj(to_TO_5_32, %_NN_7_38); num(%_NN_7_38, 12_CD_6_35); prep(%_NN_7_38, of_IN_8_40); pobj(of_IN_8_40, force_NN_11_53); det(force_NN_11_53, the_DT_9_43); nn(force_NN_11_53, labor_NN_10_47); pobj(in_IN_12_59, July_NNP_13_62); pobj(from_IN_14_67, %_NN_16_77); num(%_NN_16_77, 11.9_CD_15_72); pobj(in_IN_17_79, April_NNP_18_82); advmod(was_VBD_21_94, up_RB_22_98); dep(up_RB_22_98, from_IN_23_101); pobj(from_IN_23_101, %_NN_25_111); dep(from_IN_23_101, earlier_RB_28_120); num(%_NN_25_111, 11.7_CD_24_106); det(year_NN_27_115, a_DT_26_113); dep(earlier_RB_28_120, year_NN_27_115); dep(according_VBG_30_130, to_TO_31_140); pobj(to_TO_31_140, figures_NNS_33_153); amod(figures_NNS_33_153, quarterly_JJ_32_143); prep(figures_NNS_33_153, from_IN_34_161); pobj(from_IN_34_161, institute_NN_38_188); det(institute_NN_38_188, the_DT_35_166); nn(institute_NN_38_188, state_NN_36_170); amod(institute_NN_38_188, statistical_JJ_37_176) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8730819698845458 0.7345 35 0.875 (Vader; got on; the ring apron to distract him) false false As Sid was about to powerbomb Vader , Vader 's manager Jim Cornette got on the ring apron to distract him . pobj(As_IN_0_0, Sid_NNP_1_3); prep(about_IN_3_11, As_IN_0_0); aux(about_IN_3_11, was_VBD_2_7); xcomp(about_IN_3_11, powerbomb_VB_5_20); punct(about_IN_3_11, ._._21_106); aux(powerbomb_VB_5_20, to_TO_4_17); ccomp(powerbomb_VB_5_20, got_VBD_13_68); punct(Vader_NNP_6_30, ,_,_7_36); conj(Vader_NNP_6_30, Cornette_NNP_12_59); possessive(Vader_NNP_8_38, 's_POS_9_44); poss(Cornette_NNP_12_59, Vader_NNP_8_38); nn(Cornette_NNP_12_59, manager_NN_10_47); nn(Cornette_NNP_12_59, Jim_NNP_11_55); nsubj(got_VBD_13_68, Vader_NNP_6_30); prep(got_VBD_13_68, on_IN_14_72); pobj(on_IN_14_72, apron_NN_17_84); det(apron_NN_17_84, the_DT_15_75); nn(apron_NN_17_84, ring_NN_16_79); infmod(apron_NN_17_84, distract_VB_19_93); aux(distract_VB_19_93, to_TO_18_90); dobj(distract_VB_19_93, him_PRP_20_102) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8730819698845458 0.7345 36 0.8780487804878049 (Lenin; dispatched Stalin to; the city of Tsaritsyn) false false In May 1918 , Lenin dispatched Stalin to the city of Tsaritsyn . pobj(In_IN_0_0, May_NNP_1_3); num(May_NNP_1_3, 1918_CD_2_7); prep(dispatched_VBD_5_20, In_IN_0_0); punct(dispatched_VBD_5_20, ,_,_3_12); nsubj(dispatched_VBD_5_20, Lenin_NNP_4_14); dobj(dispatched_VBD_5_20, Stalin_NNP_6_31); prep(dispatched_VBD_5_20, to_TO_7_38); punct(dispatched_VBD_5_20, ._._12_63); pobj(to_TO_7_38, city_NN_9_45); det(city_NN_9_45, the_DT_8_41); prep(city_NN_9_45, of_IN_10_50); pobj(of_IN_10_50, Tsaritsyn_NNP_11_53) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8730819698845458 0.7345 37 0.8809523809523809 (he; tapped Connor to serve in; the office of the Texas Secretary of State) false false When Rick Perry became Governor of Texas in January 2001 , he tapped Connor to serve as the Deputy Secretary in the office of the Texas Secretary of State . nn(Perry_NNP_2_10, Rick_NNP_1_5); advmod(Governor_NNP_4_23, When_WRB_0_0); nsubj(Governor_NNP_4_23, Perry_NNP_2_10); cop(Governor_NNP_4_23, became_VBD_3_16); prep(Governor_NNP_4_23, of_IN_5_32); prep(Governor_NNP_4_23, in_IN_7_41); pobj(of_IN_5_32, Texas_NNP_6_35); pobj(in_IN_7_41, January_NNP_8_44); num(January_NNP_8_44, 2001_CD_9_52); dep(tapped_VBD_12_62, Governor_NNP_4_23); punct(tapped_VBD_12_62, ,_,_10_57); nsubj(tapped_VBD_12_62, he_PRP_11_59); dobj(tapped_VBD_12_62, Connor_NNP_13_69); xcomp(tapped_VBD_12_62, serve_VB_15_79); punct(tapped_VBD_12_62, ._._29_155); aux(serve_VB_15_79, to_TO_14_76); prep(serve_VB_15_79, as_IN_16_85); prep(serve_VB_15_79, in_IN_20_109); pobj(as_IN_16_85, Secretary_NNP_19_99); det(Secretary_NNP_19_99, the_DT_17_88); nn(Secretary_NNP_19_99, Deputy_NNP_18_92); pobj(in_IN_20_109, office_NN_22_116); det(office_NN_22_116, the_DT_21_112); prep(office_NN_22_116, of_IN_23_123); pobj(of_IN_23_123, Texas_NNP_25_130); det(Texas_NNP_25_130, the_DT_24_126); dep(Texas_NNP_25_130, Secretary_NNP_26_136); prep(Texas_NNP_25_130, of_IN_27_146); pobj(of_IN_27_146, State_NNP_28_149) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8730819698845458 0.7345 38 0.8837209302325582 (he; received a Master of Arts from; Royal Military College of Canada) false false While in the CF , he completed the year-long course at the Canadian Forces Command and Staff College and received a Master of Arts in war studies degree from Royal Military College of Canada , student # G0053 in 1980 . dep(While_IN_0_0, in_IN_1_6); pobj(in_IN_1_6, CF_NNP_3_13); det(CF_NNP_3_13, the_DT_2_9); prep(completed_VBD_6_21, While_IN_0_0); punct(completed_VBD_6_21, ,_,_4_16); nsubj(completed_VBD_6_21, he_PRP_5_18); dobj(completed_VBD_6_21, course_NN_9_45); prep(completed_VBD_6_21, at_IN_10_52); cc(completed_VBD_6_21, and_CC_18_101); conj(completed_VBD_6_21, received_VBD_19_105); punct(completed_VBD_6_21, ._._40_217); det(course_NN_9_45, the_DT_7_31); amod(course_NN_9_45, year-long_JJ_8_35); pobj(at_IN_10_52, Command_NNP_14_75); det(Command_NNP_14_75, the_DT_11_55); nn(Command_NNP_14_75, Canadian_NNP_12_59); nn(Command_NNP_14_75, Forces_NNP_13_68); cc(Command_NNP_14_75, and_CC_15_83); conj(Command_NNP_14_75, College_NNP_17_93); nn(College_NNP_17_93, Staff_NNP_16_87); dobj(received_VBD_19_105, Master_NN_21_116); prep(received_VBD_19_105, in_IN_24_131); prep(received_VBD_19_105, from_IN_28_153); det(Master_NN_21_116, a_DT_20_114); prep(Master_NN_21_116, of_IN_22_123); pobj(of_IN_22_123, Arts_NNS_23_126); pobj(in_IN_24_131, degree_NN_27_146); nn(degree_NN_27_146, war_NN_25_134); nn(degree_NN_27_146, studies_NNS_26_138); pobj(from_IN_28_153, College_NNP_31_173); nn(College_NNP_31_173, Royal_NNP_29_158); nn(College_NNP_31_173, Military_NNP_30_164); prep(College_NNP_31_173, of_IN_32_181); punct(College_NNP_31_173, ,_,_34_191); appos(College_NNP_31_173, student_NN_35_193); pobj(of_IN_32_181, Canada_NNP_33_184); ccomp(student_NN_35_193, G0053_._37_203); dep(G0053_._37_203, #_#_36_201); prep(G0053_._37_203, in_IN_38_209); pobj(in_IN_38_209, 1980_CD_39_212) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8729267550576569 0.7345 39 0.8863636363636364 (He; came in; 1980) false false He came to Tehran in 1980 and continued studying traditional arrangements under Mohammad Reza Lotfi and his brother Pashang . nsubj(came_VBD_1_3, He_PRP_0_0); prep(came_VBD_1_3, to_TO_2_8); prep(came_VBD_1_3, in_IN_4_18); cc(came_VBD_1_3, and_CC_6_26); conj(came_VBD_1_3, studying_VBG_8_40); punct(came_VBD_1_3, ._._19_124); pobj(to_TO_2_8, Tehran_NNP_3_11); pobj(in_IN_4_18, 1980_CD_5_21); aux(studying_VBG_8_40, continued_VBD_7_30); dobj(studying_VBG_8_40, arrangements_NNS_10_61); prep(studying_VBG_8_40, under_IN_11_74); amod(arrangements_NNS_10_61, traditional_JJ_9_49); pobj(under_IN_11_74, Lotfi_NNP_14_94); nn(Lotfi_NNP_14_94, Mohammad_NNP_12_80); nn(Lotfi_NNP_14_94, Reza_NNP_13_89); cc(Lotfi_NNP_14_94, and_CC_15_100); conj(Lotfi_NNP_14_94, Pashang_NNP_18_116); poss(Pashang_NNP_18_116, his_PRP$_16_104); nn(Pashang_NNP_18_116, brother_NN_17_108) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8729267550576569 0.7345 40 0.8888888888888888 (He; died in; Washington) false false He died in Washington , D.C. on April 10 , 1907 and was interred in Lakeside Cemetery in Bryant Pond , Maine . nsubj(died_VBD_1_3, He_PRP_0_0); prep(died_VBD_1_3, in_IN_2_8); prep(died_VBD_1_3, on_IN_6_28); cc(died_VBD_1_3, and_CC_11_47); conj(died_VBD_1_3, interred_VBN_13_55); punct(died_VBD_1_3, ._._22_107); pobj(in_IN_2_8, Washington_NNP_3_11); punct(Washington_NNP_3_11, ,_,_4_21); dep(Washington_NNP_3_11, D.C._NNP_5_23); pobj(on_IN_6_28, April_NNP_7_31); num(April_NNP_7_31, 10_CD_8_37); punct(April_NNP_7_31, ,_,_9_40); num(April_NNP_7_31, 1907_CD_10_42); auxpass(interred_VBN_13_55, was_VBD_12_51); prep(interred_VBN_13_55, in_IN_14_64); pobj(in_IN_14_64, Cemetery_NNP_16_76); nn(Cemetery_NNP_16_76, Lakeside_NNP_15_67); prep(Cemetery_NNP_16_76, in_IN_17_85); pobj(in_IN_17_85, Pond_NNP_19_95); nn(Pond_NNP_19_95, Bryant_NNP_18_88); punct(Pond_NNP_19_95, ,_,_20_99); appos(Pond_NNP_19_95, Maine_NNP_21_101) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8729267550576569 0.7345 41 0.8913043478260869 (He; died on; April 10 , 1907) false false He died in Washington , D.C. on April 10 , 1907 and was interred in Lakeside Cemetery in Bryant Pond , Maine . nsubj(died_VBD_1_3, He_PRP_0_0); prep(died_VBD_1_3, in_IN_2_8); prep(died_VBD_1_3, on_IN_6_28); cc(died_VBD_1_3, and_CC_11_47); conj(died_VBD_1_3, interred_VBN_13_55); punct(died_VBD_1_3, ._._22_107); pobj(in_IN_2_8, Washington_NNP_3_11); punct(Washington_NNP_3_11, ,_,_4_21); dep(Washington_NNP_3_11, D.C._NNP_5_23); pobj(on_IN_6_28, April_NNP_7_31); num(April_NNP_7_31, 10_CD_8_37); punct(April_NNP_7_31, ,_,_9_40); num(April_NNP_7_31, 1907_CD_10_42); auxpass(interred_VBN_13_55, was_VBD_12_51); prep(interred_VBN_13_55, in_IN_14_64); pobj(in_IN_14_64, Cemetery_NNP_16_76); nn(Cemetery_NNP_16_76, Lakeside_NNP_15_67); prep(Cemetery_NNP_16_76, in_IN_17_85); pobj(in_IN_17_85, Pond_NNP_19_95); nn(Pond_NNP_19_95, Bryant_NNP_18_88); punct(Pond_NNP_19_95, ,_,_20_99); appos(Pond_NNP_19_95, Maine_NNP_21_101) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8729267550576569 0.7345 42 0.8936170212765957 (Italy 's unemployment rate; rose in; April) false false Italy 's unemployment rate rose to 12 % of the labor force in July from 11.9 % in April , and was up from 11.7 % a year earlier , according to quarterly figures from the state statistical institute . possessive(Italy_NNP_0_0, 's_POS_1_6); poss(rate_NN_3_22, Italy_NNP_0_0); nn(rate_NN_3_22, unemployment_NN_2_9); nsubj(rose_VBD_4_27, rate_NN_3_22); prep(rose_VBD_4_27, to_TO_5_32); prep(rose_VBD_4_27, in_IN_12_59); prep(rose_VBD_4_27, from_IN_14_67); prep(rose_VBD_4_27, in_IN_17_79); punct(rose_VBD_4_27, ,_,_19_88); cc(rose_VBD_4_27, and_CC_20_90); conj(rose_VBD_4_27, was_VBD_21_94); punct(rose_VBD_4_27, ,_,_29_128); prep(rose_VBD_4_27, according_VBG_30_130); punct(rose_VBD_4_27, ._._39_198); pobj(to_TO_5_32, %_NN_7_38); num(%_NN_7_38, 12_CD_6_35); prep(%_NN_7_38, of_IN_8_40); pobj(of_IN_8_40, force_NN_11_53); det(force_NN_11_53, the_DT_9_43); nn(force_NN_11_53, labor_NN_10_47); pobj(in_IN_12_59, July_NNP_13_62); pobj(from_IN_14_67, %_NN_16_77); num(%_NN_16_77, 11.9_CD_15_72); pobj(in_IN_17_79, April_NNP_18_82); advmod(was_VBD_21_94, up_RB_22_98); dep(up_RB_22_98, from_IN_23_101); pobj(from_IN_23_101, %_NN_25_111); dep(from_IN_23_101, earlier_RB_28_120); num(%_NN_25_111, 11.7_CD_24_106); det(year_NN_27_115, a_DT_26_113); dep(earlier_RB_28_120, year_NN_27_115); dep(according_VBG_30_130, to_TO_31_140); pobj(to_TO_31_140, figures_NNS_33_153); amod(figures_NNS_33_153, quarterly_JJ_32_143); prep(figures_NNS_33_153, from_IN_34_161); pobj(from_IN_34_161, institute_NN_38_188); det(institute_NN_38_188, the_DT_35_166); nn(institute_NN_38_188, state_NN_36_170); amod(institute_NN_38_188, statistical_JJ_37_176) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8729267550576569 0.7345 43 0.8958333333333334 (The Skeleton King; later merged with; the demon) false false The Skeleton King later merged with the demon Dark One , only to have him decapitated by the Hyperforce . det(King_NNP_2_13, The_DT_0_0); nn(King_NNP_2_13, Skeleton_NNP_1_4); nsubj(merged_VBD_4_24, King_NNP_2_13); advmod(merged_VBD_4_24, later_RB_3_18); prep(merged_VBD_4_24, with_IN_5_31); tmod(merged_VBD_4_24, Dark_NNP_8_46); punct(merged_VBD_4_24, ,_,_10_55); xcomp(merged_VBD_4_24, have_VB_13_65); punct(merged_VBD_4_24, ._._19_104); pobj(with_IN_5_31, demon_NN_7_40); det(demon_NN_7_40, the_DT_6_36); num(Dark_NNP_8_46, One_CD_9_51); advmod(have_VB_13_65, only_RB_11_57); aux(have_VB_13_65, to_TO_12_62); ccomp(have_VB_13_65, decapitated_VBN_15_74); nsubjpass(decapitated_VBN_15_74, him_PRP_14_70); prep(decapitated_VBN_15_74, by_IN_16_86); pobj(by_IN_16_86, Hyperforce_NNP_18_93); det(Hyperforce_NNP_18_93, the_DT_17_89) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8729267550576569 0.7345 44 0.8979591836734694 (Turner; also starred in; the film) false false Turner also starred in the film , portraying a young woman whose friends help her find a new girlfriend , Ely , portayed by VS Brodie . nsubj(starred_VBD_2_12, Turner_NNP_0_0); advmod(starred_VBD_2_12, also_RB_1_7); prep(starred_VBD_2_12, in_IN_3_20); punct(starred_VBD_2_12, ,_,_6_32); xcomp(starred_VBD_2_12, portraying_VBG_7_34); punct(starred_VBD_2_12, ._._26_134); pobj(in_IN_3_20, film_NN_5_27); det(film_NN_5_27, the_DT_4_23); dobj(portraying_VBG_7_34, woman_NN_10_53); det(woman_NN_10_53, a_DT_8_45); amod(woman_NN_10_53, young_JJ_9_47); rcmod(woman_NN_10_53, help_VBP_13_73); poss(friends_NNS_12_65, whose_WP$_11_59); nsubj(help_VBP_13_73, friends_NNS_12_65); ccomp(help_VBP_13_73, find_VB_15_82); nsubj(find_VB_15_82, her_PRP_14_78); dobj(find_VB_15_82, girlfriend_NN_18_93); det(girlfriend_NN_18_93, a_DT_16_87); amod(girlfriend_NN_18_93, new_JJ_17_89); punct(girlfriend_NN_18_93, ,_,_19_104); appos(girlfriend_NN_18_93, Ely_NNP_20_106); punct(girlfriend_NN_18_93, ,_,_21_110); partmod(girlfriend_NN_18_93, portayed_VBN_22_112); prep(portayed_VBN_22_112, by_IN_23_121); pobj(by_IN_23_121, Brodie_NNP_25_127); nn(Brodie_NNP_25_127, VS_NNP_24_124) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8714822869067644 0.3797 45 0.9 (researchers; had to carry out; several rounds of DNA cutting) false false With such a large genome , researchers had to carry out several rounds of DNA cutting , cloning , and physical mapping . pobj(With_IN_0_0, genome_NN_4_18); predet(genome_NN_4_18, such_PDT_1_5); det(genome_NN_4_18, a_DT_2_10); amod(genome_NN_4_18, large_JJ_3_12); prep(had_VBD_7_39, With_IN_0_0); punct(had_VBD_7_39, ,_,_5_25); nsubj(had_VBD_7_39, researchers_NNS_6_27); xcomp(had_VBD_7_39, carry_VB_9_46); punct(had_VBD_7_39, ,_,_16_86); xcomp(had_VBD_7_39, cloning_VBG_17_88); punct(had_VBD_7_39, ._._22_119); aux(carry_VB_9_46, to_TO_8_43); prt(carry_VB_9_46, out_RP_10_52); dobj(carry_VB_9_46, rounds_NNS_12_64); amod(rounds_NNS_12_64, several_JJ_11_56); prep(rounds_NNS_12_64, of_IN_13_71); pobj(of_IN_13_71, cutting_NN_15_78); nn(cutting_NN_15_78, DNA_NNP_14_74); punct(cloning_VBG_17_88, ,_,_18_96); cc(cloning_VBG_17_88, and_CC_19_98); conj(cloning_VBG_17_88, mapping_NN_21_111); amod(mapping_NN_21_111, physical_JJ_20_102) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.3797 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8710640791017942 1.0 46 0.9019607843137255 (A collection of her art; was displayed at; an exhibition) false false A collection of her art was displayed at an exhibition in Tehran by supporters campaigning to release her . det(collection_NN_1_2, A_DT_0_0); prep(collection_NN_1_2, of_IN_2_13); pobj(of_IN_2_13, art_NN_4_20); poss(art_NN_4_20, her_PRP$_3_16); nsubjpass(displayed_VBN_6_28, collection_NN_1_2); auxpass(displayed_VBN_6_28, was_VBD_5_24); prep(displayed_VBN_6_28, at_IN_7_38); prep(displayed_VBN_6_28, by_IN_12_65); punct(displayed_VBN_6_28, ._._18_106); pobj(at_IN_7_38, exhibition_NN_9_44); det(exhibition_NN_9_44, an_DT_8_41); prep(exhibition_NN_9_44, in_IN_10_55); pobj(in_IN_10_55, Tehran_NNP_11_58); pobj(by_IN_12_65, supporters_NNS_13_68); partmod(supporters_NNS_13_68, campaigning_VBG_14_79); xcomp(campaigning_VBG_14_79, release_VB_16_94); aux(release_VB_16_94, to_TO_15_91); dobj(release_VB_16_94, her_PRP_17_102) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8710640791017942 1.0 47 0.9038461538461539 (The incidence of malaria; was greatly diminished in; the 1960s) false false The incidence of malaria was greatly diminished in the 1960s by insecticides that reduced carrier populations of Anopheles mosquitoes and by drugs that killed Plasmodium in humans . det(incidence_NN_1_4, The_DT_0_0); prep(incidence_NN_1_4, of_IN_2_14); pobj(of_IN_2_14, malaria_NN_3_17); nsubjpass(diminished_VBN_6_37, incidence_NN_1_4); auxpass(diminished_VBN_6_37, was_VBD_4_25); advmod(diminished_VBN_6_37, greatly_RB_5_29); prep(diminished_VBN_6_37, in_IN_7_48); prep(diminished_VBN_6_37, by_IN_10_61); punct(diminished_VBN_6_37, ._._27_180); pobj(in_IN_7_48, 1960s_NNS_9_55); det(1960s_NNS_9_55, the_DT_8_51); pobj(by_IN_10_61, insecticides_NNS_11_64); cc(by_IN_10_61, and_CC_19_134); conj(by_IN_10_61, by_IN_20_138); rcmod(insecticides_NNS_11_64, reduced_VBD_13_82); nsubj(reduced_VBD_13_82, that_WDT_12_77); dobj(reduced_VBD_13_82, populations_NNS_15_98); nn(populations_NNS_15_98, carrier_NN_14_90); prep(populations_NNS_15_98, of_IN_16_110); pobj(of_IN_16_110, mosquitoes_NNS_18_123); nn(mosquitoes_NNS_18_123, Anopheles_NNP_17_113); pobj(by_IN_20_138, drugs_NNS_21_141); rcmod(drugs_NNS_21_141, killed_VBD_23_152); nsubj(killed_VBD_23_152, that_WDT_22_147); dobj(killed_VBD_23_152, Plasmodium_NNP_24_159); prep(killed_VBD_23_152, in_IN_25_170); pobj(in_IN_25_170, humans_NNS_26_173) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8671726583772422 0.7345 48 0.9056603773584906 (The board; expanded to; 17 seats) false false The board expanded to 17 seats . det(board_NN_1_4, The_DT_0_0); nsubj(expanded_VBD_2_10, board_NN_1_4); prep(expanded_VBD_2_10, to_TO_3_19); punct(expanded_VBD_2_10, ._._6_31); pobj(to_TO_3_19, seats_NNS_5_25); num(seats_NNS_5_25, 17_CD_4_22) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8642529189447961 0.9555 49 0.9074074074074074 (Lakitelek; is a large village in; the Southern Great Plain region of southern Hungary) false false Lakitelek is a large village in Bics-Kiskun county , in the Southern Great Plain region of southern Hungary . nsubj(village_NN_4_21, Lakitelek_NNP_0_0); cop(village_NN_4_21, is_VBZ_1_10); det(village_NN_4_21, a_DT_2_13); amod(village_NN_4_21, large_JJ_3_15); prep(village_NN_4_21, in_IN_5_29); punct(village_NN_4_21, ,_,_8_51); prep(village_NN_4_21, in_IN_9_53); punct(village_NN_4_21, ._._18_108); pobj(in_IN_5_29, county_NN_7_44); nn(county_NN_7_44, Bics-Kiskun_NNP_6_32); pobj(in_IN_9_53, region_NN_14_81); det(region_NN_14_81, the_DT_10_56); nn(region_NN_14_81, Southern_NNP_11_60); nn(region_NN_14_81, Great_NNP_12_69); nn(region_NN_14_81, Plain_NNP_13_75); prep(region_NN_14_81, of_IN_15_88); pobj(of_IN_15_88, Hungary_NNP_17_100); amod(Hungary_NNP_17_100, southern_JJ_16_91) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9555 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8642529189447961 0.9555 50 0.9090909090909091 (North Luffenham; is a village in; the East Midlands of England) false false North Luffenham is a village in Rutland , in the East Midlands of England . nn(Luffenham_NNP_1_6, North_NNP_0_0); nsubj(village_NN_4_21, Luffenham_NNP_1_6); cop(village_NN_4_21, is_VBZ_2_16); det(village_NN_4_21, a_DT_3_19); prep(village_NN_4_21, in_IN_5_29); punct(village_NN_4_21, ,_,_7_40); prep(village_NN_4_21, in_IN_8_42); punct(village_NN_4_21, ._._14_74); pobj(in_IN_5_29, Rutland_NNP_6_32); pobj(in_IN_8_42, Midlands_NNP_11_54); det(Midlands_NNP_11_54, the_DT_9_45); nn(Midlands_NNP_11_54, East_NNP_10_49); prep(Midlands_NNP_11_54, of_IN_12_63); pobj(of_IN_12_63, England_NNP_13_66) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9555 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8606381067049523 1.0 51 0.9107142857142857 (his birth; was born at; a major tourist attraction) false false Byrom was born at what is now the Wellington Inn , Manchester , in 1692 , The Wellington Inn is now a major tourist attraction , and his birth is commemorated by a plaque in the bar area . nsubjpass(born_VBN_2_10, Byrom_NNP_0_0); auxpass(born_VBN_2_10, was_VBD_1_6); prep(born_VBN_2_10, at_IN_3_15); punct(born_VBN_2_10, ,_,_25_127); cc(born_VBN_2_10, and_CC_26_129); conj(born_VBN_2_10, commemorated_VBN_30_146); punct(born_VBN_2_10, ._._38_187); pobj(at_IN_3_15, attraction_NN_24_116); dep(what_WP_4_18, is_VBZ_5_23); advmod(is_VBZ_5_23, now_RB_6_26); prep(is_VBZ_5_23, in_IN_13_64); dep(now_RB_6_26, Inn_NNP_9_45); det(Inn_NNP_9_45, the_DT_7_30); nn(Inn_NNP_9_45, Wellington_NNP_8_34); punct(Inn_NNP_9_45, ,_,_10_49); appos(Inn_NNP_9_45, Manchester_NNP_11_51); punct(Inn_NNP_9_45, ,_,_12_62); pobj(in_IN_13_64, 1692_CD_14_67); det(Inn_NNP_18_89, The_DT_16_74); nn(Inn_NNP_18_89, Wellington_NNP_17_78); dep(attraction_NN_24_116, what_WP_4_18); punct(attraction_NN_24_116, ,_,_15_72); nsubj(attraction_NN_24_116, Inn_NNP_18_89); cop(attraction_NN_24_116, is_VBZ_19_93); advmod(attraction_NN_24_116, now_RB_20_96); det(attraction_NN_24_116, a_DT_21_100); amod(attraction_NN_24_116, major_JJ_22_102); nn(attraction_NN_24_116, tourist_NN_23_108); poss(birth_NN_28_137, his_PRP$_27_133); nsubjpass(commemorated_VBN_30_146, birth_NN_28_137); auxpass(commemorated_VBN_30_146, is_VBZ_29_143); prep(commemorated_VBN_30_146, by_IN_31_159); pobj(by_IN_31_159, plaque_NN_33_164); det(plaque_NN_33_164, a_DT_32_162); prep(plaque_NN_33_164, in_IN_34_171); pobj(in_IN_34_171, area_NN_37_182); det(area_NN_37_182, the_DT_35_174); nn(area_NN_37_182, bar_NN_36_178) 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
0 0.8606381067049523 1.0 51 0.8947368421052632 (SirsiDynix; was founded in; 1983) false false The Dynix corporation was founded in 1983 , and SirsiDynix was formed by the merger of the Sirsi and Dynix corporations in June 2005 . det(corporation_NN_2_10, The_DT_0_0); nn(corporation_NN_2_10, Dynix_NNP_1_4); nsubjpass(founded_VBN_4_26, corporation_NN_2_10); auxpass(founded_VBN_4_26, was_VBD_3_22); prep(founded_VBN_4_26, in_IN_5_34); punct(founded_VBN_4_26, ,_,_7_42); cc(founded_VBN_4_26, and_CC_8_44); conj(founded_VBN_4_26, formed_VBN_11_63); punct(founded_VBN_4_26, ._._24_133); pobj(in_IN_5_34, 1983_CD_6_37); nsubjpass(formed_VBN_11_63, SirsiDynix_NNP_9_48); auxpass(formed_VBN_11_63, was_VBD_10_59); prep(formed_VBN_11_63, by_IN_12_70); prep(formed_VBN_11_63, in_IN_21_120); pobj(by_IN_12_70, merger_NN_14_77); det(merger_NN_14_77, the_DT_13_73); prep(merger_NN_14_77, of_IN_15_84); pobj(of_IN_15_84, corporations_NNS_20_107); cc(Sirsi_NNP_17_91, and_CC_18_97); conj(Sirsi_NNP_17_91, Dynix_NNP_19_101); det(corporations_NNS_20_107, the_DT_16_87); nn(corporations_NNS_20_107, Sirsi_NNP_17_91); pobj(in_IN_21_120, June_NNP_22_123); num(June_NNP_22_123, 2005_CD_23_128) 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.860181709202922 1.0 52 0.896551724137931 (he; was hosted by; an anti-Nazi Protestant family whose children had been required to join the Hitler Youth) false false Visiting Germany in 1937 , he was hosted by an anti-Nazi Protestant family whose children had been required to join the Hitler Youth . dobj(Visiting_VBG_0_0, Germany_NNP_1_9); prep(Visiting_VBG_0_0, in_IN_2_17); pobj(in_IN_2_17, 1937_CD_3_20); dep(hosted_VBN_7_34, Visiting_VBG_0_0); punct(hosted_VBN_7_34, ,_,_4_25); nsubjpass(hosted_VBN_7_34, he_PRP_5_27); auxpass(hosted_VBN_7_34, was_VBD_6_30); prep(hosted_VBN_7_34, by_IN_8_41); punct(hosted_VBN_7_34, ._._23_133); pobj(by_IN_8_41, family_NN_12_68); det(family_NN_12_68, an_DT_9_44); amod(family_NN_12_68, anti-Nazi_JJ_10_47); amod(family_NN_12_68, Protestant_JJ_11_57); rcmod(family_NN_12_68, required_VBN_17_99); poss(children_NNS_14_81, whose_WP$_13_75); nsubjpass(required_VBN_17_99, children_NNS_14_81); aux(required_VBN_17_99, had_VBD_15_90); auxpass(required_VBN_17_99, been_VBN_16_94); xcomp(required_VBN_17_99, join_VB_19_111); aux(join_VB_19_111, to_TO_18_108); dobj(join_VB_19_111, Youth_NNP_22_127); det(Youth_NNP_22_127, the_DT_20_116); nn(Youth_NNP_22_127, Hitler_NNP_21_120) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8600422350020404 0.0577 53 0.8983050847457628 (paleontologists; Furthermore have found; fossils of dinosaurs)[enabler=although the climate in these areas was milder when dinosaurs existed than it is today , it was cool enough that small dinosaurs may have had difficulty maintaining a high body temperature through ectothermy] true false Furthermore , paleontologists have found fossils of dinosaurs in both Antarctica and the Arctic : although the climate in these areas was milder when dinosaurs existed than it is today , it was cool enough that small dinosaurs may have had difficulty maintaining a high body temperature through ectothermy . advmod(found_VBN_4_35, Furthermore_RB_0_0); punct(found_VBN_4_35, ,_,_1_12); nsubj(found_VBN_4_35, paleontologists_NNS_2_14); aux(found_VBN_4_35, have_VBP_3_30); dobj(found_VBN_4_35, fossils_NNS_5_41); punct(found_VBN_4_35, :_:_14_96); advcl(found_VBN_4_35, milder_NN_22_138); punct(found_VBN_4_35, ._._49_306); prep(fossils_NNS_5_41, of_IN_6_49); pobj(of_IN_6_49, dinosaurs_NNS_7_52); prep(dinosaurs_NNS_7_52, in_IN_8_62); pobj(in_IN_8_62, Antarctica_NNP_10_70); preconj(Antarctica_NNP_10_70, both_DT_9_65); cc(Antarctica_NNP_10_70, and_CC_11_81); conj(Antarctica_NNP_10_70, Arctic_NNP_13_89); det(Arctic_NNP_13_89, the_DT_12_85); det(climate_NN_17_111, the_DT_16_107); prep(climate_NN_17_111, in_IN_18_119); pobj(in_IN_18_119, areas_NNS_20_128); det(areas_NNS_20_128, these_DT_19_122); mark(milder_NN_22_138, although_IN_15_98); nsubj(milder_NN_22_138, climate_NN_17_111); cop(milder_NN_22_138, was_VBD_21_134); amod(milder_NN_22_138, cool_JJ_33_194); advmod(existed_VBD_25_160, when_WRB_23_145); nsubj(existed_VBD_25_160, dinosaurs_NNS_24_150); dep(existed_VBD_25_160, today_NN_29_179); mark(today_NN_29_179, than_IN_26_168); nsubj(today_NN_29_179, it_PRP_27_173); cop(today_NN_29_179, is_VBZ_28_176); dep(cool_JJ_33_194, existed_VBD_25_160); punct(cool_JJ_33_194, ,_,_30_185); nsubj(cool_JJ_33_194, it_PRP_31_187); cop(cool_JJ_33_194, was_VBD_32_190); advmod(cool_JJ_33_194, enough_RB_34_199); ccomp(cool_JJ_33_194, had_VBD_40_236); amod(dinosaurs_NNS_37_217, small_JJ_36_211); complm(had_VBD_40_236, that_IN_35_206); nsubj(had_VBD_40_236, dinosaurs_NNS_37_217); aux(had_VBD_40_236, may_MD_38_227); aux(had_VBD_40_236, have_VB_39_231); dobj(had_VBD_40_236, difficulty_NN_41_240); dep(difficulty_NN_41_240, maintaining_VBG_42_251); dobj(maintaining_VBG_42_251, temperature_NN_46_275); prep(maintaining_VBG_42_251, through_IN_47_287); det(temperature_NN_46_275, a_DT_43_263); amod(temperature_NN_46_275, high_JJ_44_265); nn(temperature_NN_46_275, body_NN_45_270); pobj(through_IN_47_287, ectothermy_NN_48_295) 0.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0577 1.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.856815426256054 0.7345 54 0.9 (Coca-Cola Enterprises; blamed the lower volume on; its soft-drink prices which were about 3 % higher in the third quarter) false false Coca-Cola Enterprises blamed the lower volume on its soft-drink prices , which were about 3 % higher in the third quarter . nn(Enterprises_NNPS_1_10, Coca-Cola_NNP_0_0); nsubj(blamed_VBD_2_22, Enterprises_NNPS_1_10); dobj(blamed_VBD_2_22, volume_NN_5_39); prep(blamed_VBD_2_22, on_IN_6_46); punct(blamed_VBD_2_22, ._._21_122); det(volume_NN_5_39, the_DT_3_29); amod(volume_NN_5_39, lower_JJR_4_33); pobj(on_IN_6_46, prices_NNS_9_64); poss(prices_NNS_9_64, its_PRP$_7_49); nn(prices_NNS_9_64, soft-drink_NN_8_53); punct(prices_NNS_9_64, ,_,_10_71); rcmod(prices_NNS_9_64, higher_JJR_16_94); quantmod(3_CD_14_90, about_IN_13_84); num(%_NN_15_92, 3_CD_14_90); nsubj(higher_JJR_16_94, which_WDT_11_73); cop(higher_JJR_16_94, were_VBD_12_79); measure(higher_JJR_16_94, %_NN_15_92); prep(higher_JJR_16_94, in_IN_17_101); pobj(in_IN_17_101, quarter_NN_20_114); det(quarter_NN_20_114, the_DT_18_104); amod(quarter_NN_20_114, third_JJ_19_108) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.7345 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
0 0.8566696173564037 1.0 54 0.8852459016393442 (The body of an arthropod; is completely covered an exoskeleton constructed from layers of protein by; the cuticle) false false The body of an arthropod is completely covered by the cuticle , an exoskeleton constructed from layers of protein and the polysaccharide chitin . det(body_NN_1_4, The_DT_0_0); prep(body_NN_1_4, of_IN_2_9); pobj(of_IN_2_9, arthropod_NN_4_15); det(arthropod_NN_4_15, an_DT_3_12); nsubjpass(covered_VBN_7_39, body_NN_1_4); auxpass(covered_VBN_7_39, is_VBZ_5_25); advmod(covered_VBN_7_39, completely_RB_6_28); prep(covered_VBN_7_39, by_IN_8_47); punct(covered_VBN_7_39, ,_,_11_62); dobj(covered_VBN_7_39, exoskeleton_NN_13_67); punct(covered_VBN_7_39, ._._23_144); pobj(by_IN_8_47, cuticle_NN_10_54); det(cuticle_NN_10_54, the_DT_9_50); det(exoskeleton_NN_13_67, an_DT_12_64); partmod(exoskeleton_NN_13_67, constructed_VBN_14_79); cc(exoskeleton_NN_13_67, and_CC_19_114); conj(exoskeleton_NN_13_67, chitin_NN_22_137); prep(constructed_VBN_14_79, from_IN_15_91); pobj(from_IN_15_91, layers_NNS_16_96); prep(layers_NNS_16_96, of_IN_17_103); pobj(of_IN_17_103, protein_NN_18_106); det(chitin_NN_22_137, the_DT_20_118); nn(chitin_NN_22_137, polysaccharide_NN_21_122) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
0 0.8566696173564037 1.0 54 0.8709677419354839 (The body of an arthropod; is completely covered the polysaccharide chitin by; the cuticle) false false The body of an arthropod is completely covered by the cuticle , an exoskeleton constructed from layers of protein and the polysaccharide chitin . det(body_NN_1_4, The_DT_0_0); prep(body_NN_1_4, of_IN_2_9); pobj(of_IN_2_9, arthropod_NN_4_15); det(arthropod_NN_4_15, an_DT_3_12); nsubjpass(covered_VBN_7_39, body_NN_1_4); auxpass(covered_VBN_7_39, is_VBZ_5_25); advmod(covered_VBN_7_39, completely_RB_6_28); prep(covered_VBN_7_39, by_IN_8_47); punct(covered_VBN_7_39, ,_,_11_62); dobj(covered_VBN_7_39, exoskeleton_NN_13_67); punct(covered_VBN_7_39, ._._23_144); pobj(by_IN_8_47, cuticle_NN_10_54); det(cuticle_NN_10_54, the_DT_9_50); det(exoskeleton_NN_13_67, an_DT_12_64); partmod(exoskeleton_NN_13_67, constructed_VBN_14_79); cc(exoskeleton_NN_13_67, and_CC_19_114); conj(exoskeleton_NN_13_67, chitin_NN_22_137); prep(constructed_VBN_14_79, from_IN_15_91); pobj(from_IN_15_91, layers_NNS_16_96); prep(layers_NNS_16_96, of_IN_17_103); pobj(of_IN_17_103, protein_NN_18_106); det(chitin_NN_22_137, the_DT_20_118); nn(chitin_NN_22_137, polysaccharide_NN_21_122) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
0 0.8566696173564037 1.0 54 0.8571428571428571 (The coldest temperature; be ever recorded in; the city) false false The coldest temperature ever recorded in the city was - 40F , on January 17 , 1982 , also known as Cold Sunday . det(temperature_NN_2_12, The_DT_0_0); amod(temperature_NN_2_12, coldest_JJS_1_4); nsubjpass(recorded_VBN_4_29, temperature_NN_2_12); advmod(recorded_VBN_4_29, ever_RB_3_24); prep(recorded_VBN_4_29, in_IN_5_38); dep(recorded_VBN_4_29, was_VBD_8_50); punct(recorded_VBN_4_29, ._._23_111); pobj(in_IN_5_38, city_NN_7_45); det(city_NN_7_45, the_DT_6_41); punct(was_VBD_8_50, -_:_9_54); dep(was_VBD_8_50, known_VBN_19_90); punct(40F_CD_10_56, ,_,_11_60); prep(40F_CD_10_56, on_IN_12_62); punct(40F_CD_10_56, ,_,_17_83); pobj(on_IN_12_62, January_NNP_13_65); num(January_NNP_13_65, 17_CD_14_73); punct(January_NNP_13_65, ,_,_15_76); appos(January_NNP_13_65, 1982_CD_16_78); nsubjpass(known_VBN_19_90, 40F_CD_10_56); advmod(known_VBN_19_90, also_RB_18_85); prep(known_VBN_19_90, as_IN_20_96); pobj(as_IN_20_96, Sunday_NNP_22_104); amod(Sunday_NNP_22_104, Cold_JJ_21_99) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8550447583474959 0.3797 55 0.859375 (A temperate phage; called; lambda written with the Greek letter) false false A temperate phage called lambda , written with the Greek letter , is widely used in biological research . det(phage_NN_2_12, A_DT_0_0); amod(phage_NN_2_12, temperate_JJ_1_2); nsubj(called_VBD_3_18, phage_NN_2_12); dobj(called_VBD_3_18, lambda_NN_4_25); parataxis(called_VBD_3_18, used_VBN_14_77); punct(called_VBD_3_18, ._._18_105); punct(lambda_NN_4_25, ,_,_5_32); partmod(lambda_NN_4_25, written_VBN_6_34); prep(written_VBN_6_34, with_IN_7_42); pobj(with_IN_7_42, letter_NN_10_57); det(letter_NN_10_57, the_DT_8_47); nn(letter_NN_10_57, Greek_NNP_9_51); punct(used_VBN_14_77, ,_,_11_65); auxpass(used_VBN_14_77, is_VBZ_12_67); advmod(used_VBN_14_77, widely_RB_13_70); prep(used_VBN_14_77, in_IN_15_82); pobj(in_IN_15_82, research_NN_17_96); amod(research_NN_17_96, biological_JJ_16_85) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 1.0 0.3797 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
0 0.8510550448671066 1.0 55 0.8461538461538461 (unreleased; was asked by; SugarHill Recording Studios) false false Also , although unreleased as of 2009 , Drop Trio was asked by SugarHill Recording Studios , in 2003 , to record a song by Destiny 's Child for an upcoming compilation CD to be released by the studio . prep(unreleased_JJ_3_16, as_IN_4_27); dep(as_IN_4_27, of_IN_5_30); pobj(of_IN_5_30, 2009_CD_6_33); nn(Trio_NNP_9_45, Drop_NNP_8_40); mark(asked_VBN_11_54, although_IN_2_7); nsubjpass(asked_VBN_11_54, unreleased_JJ_3_16); punct(asked_VBN_11_54, ,_,_7_38); nsubjpass(asked_VBN_11_54, Trio_NNP_9_45); auxpass(asked_VBN_11_54, was_VBD_10_50); prep(asked_VBN_11_54, by_IN_12_60); pobj(by_IN_12_60, Studios_NNP_15_83); nn(Studios_NNP_15_83, SugarHill_NNP_13_63); nn(Studios_NNP_15_83, Recording_NNP_14_73); pobj(in_IN_17_93, 2003_CD_18_96); advmod(record_VB_21_106, Also_RB_0_0); punct(record_VB_21_106, ,_,_1_5); dep(record_VB_21_106, asked_VBN_11_54); punct(record_VB_21_106, ,_,_16_91); prep(record_VB_21_106, in_IN_17_93); punct(record_VB_21_106, ,_,_19_101); aux(record_VB_21_106, to_TO_20_103); dobj(record_VB_21_106, song_NN_23_115); prep(record_VB_21_106, by_IN_24_120); prep(record_VB_21_106, for_IN_28_140); punct(record_VB_21_106, ._._39_200); det(song_NN_23_115, a_DT_22_113); pobj(by_IN_24_120, Child_NN_27_134); possessive(Destiny_NNP_25_123, 's_POS_26_131); poss(Child_NN_27_134, Destiny_NNP_25_123); pobj(for_IN_28_140, CD_NN_32_168); det(CD_NN_32_168, an_DT_29_144); amod(CD_NN_32_168, upcoming_JJ_30_147); nn(CD_NN_32_168, compilation_NN_31_156); infmod(CD_NN_32_168, released_VBN_35_177); aux(released_VBN_35_177, to_TO_33_171); auxpass(released_VBN_35_177, be_VB_34_174); prep(released_VBN_35_177, by_IN_36_186); pobj(by_IN_36_186, studio_NN_38_193); det(studio_NN_38_193, the_DT_37_189) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8475390994633406 0.3797 56 0.8484848484848485 (he; led; the invasion of the Philippines) false false As Commanding General of the newly formed Eighth Army , he led the invasion of the Philippines clearing the islands of Mindoro , Marinduque , Panay , Negros , Cebu and Bohol . pobj(As_IN_0_0, General_NNP_2_14); nn(General_NNP_2_14, Commanding_NNP_1_3); prep(General_NNP_2_14, of_IN_3_22); pobj(of_IN_3_22, Army_NNP_8_49); advmod(formed_VBN_6_35, newly_RB_5_29); det(Army_NNP_8_49, the_DT_4_25); amod(Army_NNP_8_49, formed_VBN_6_35); nn(Army_NNP_8_49, Eighth_NNP_7_42); prep(led_VBD_11_59, As_IN_0_0); punct(led_VBD_11_59, ,_,_9_54); nsubj(led_VBD_11_59, he_PRP_10_56); dobj(led_VBD_11_59, invasion_NN_13_67); punct(led_VBD_11_59, ._._32_174); det(invasion_NN_13_67, the_DT_12_63); prep(invasion_NN_13_67, of_IN_14_76); pobj(of_IN_14_76, Philippines_NNPS_16_83); det(Philippines_NNPS_16_83, the_DT_15_79); partmod(Philippines_NNPS_16_83, clearing_VBG_17_95); dobj(clearing_VBG_17_95, islands_NNS_19_108); det(islands_NNS_19_108, the_DT_18_104); prep(islands_NNS_19_108, of_IN_20_116); pobj(of_IN_20_116, Mindoro_NNP_21_119); punct(Mindoro_NNP_21_119, ,_,_22_127); conj(Mindoro_NNP_21_119, Marinduque_NNP_23_129); punct(Mindoro_NNP_21_119, ,_,_24_140); conj(Mindoro_NNP_21_119, Panay_NNP_25_142); punct(Mindoro_NNP_21_119, ,_,_26_148); conj(Mindoro_NNP_21_119, Negros_NNP_27_150); punct(Mindoro_NNP_21_119, ,_,_28_157); conj(Mindoro_NNP_21_119, Cebu_NNP_29_159); cc(Mindoro_NNP_21_119, and_CC_30_164); conj(Mindoro_NNP_21_119, Bohol_NNP_31_168) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3797 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8472379362949907 1.0 57 0.8507462686567164 (SirsiDynix; was formed by; the merger of the Sirsi and Dynix corporations) false false The Dynix corporation was founded in 1983 , and SirsiDynix was formed by the merger of the Sirsi and Dynix corporations in June 2005 . det(corporation_NN_2_10, The_DT_0_0); nn(corporation_NN_2_10, Dynix_NNP_1_4); nsubjpass(founded_VBN_4_26, corporation_NN_2_10); auxpass(founded_VBN_4_26, was_VBD_3_22); prep(founded_VBN_4_26, in_IN_5_34); punct(founded_VBN_4_26, ,_,_7_42); cc(founded_VBN_4_26, and_CC_8_44); conj(founded_VBN_4_26, formed_VBN_11_63); punct(founded_VBN_4_26, ._._24_133); pobj(in_IN_5_34, 1983_CD_6_37); nsubjpass(formed_VBN_11_63, SirsiDynix_NNP_9_48); auxpass(formed_VBN_11_63, was_VBD_10_59); prep(formed_VBN_11_63, by_IN_12_70); prep(formed_VBN_11_63, in_IN_21_120); pobj(by_IN_12_70, merger_NN_14_77); det(merger_NN_14_77, the_DT_13_73); prep(merger_NN_14_77, of_IN_15_84); pobj(of_IN_15_84, corporations_NNS_20_107); cc(Sirsi_NNP_17_91, and_CC_18_97); conj(Sirsi_NNP_17_91, Dynix_NNP_19_101); det(corporations_NNS_20_107, the_DT_16_87); nn(corporations_NNS_20_107, Sirsi_NNP_17_91); pobj(in_IN_21_120, June_NNP_22_123); num(June_NNP_22_123, 2005_CD_23_128) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.847056652054492 1.0 58 0.8529411764705882 (Junge; was originally drafted by; the Los Angeles Dodgers) false false Junge was originally drafted by the Los Angeles Dodgers in the 1999 amateur draft and was then traded to the Philadelphia Phillies in . nsubjpass(drafted_VBN_3_21, Junge_NNP_0_0); auxpass(drafted_VBN_3_21, was_VBD_1_6); advmod(drafted_VBN_3_21, originally_RB_2_10); prep(drafted_VBN_3_21, by_IN_4_29); prep(drafted_VBN_3_21, in_IN_9_56); cc(drafted_VBN_3_21, and_CC_14_82); conj(drafted_VBN_3_21, traded_VBN_17_95); punct(drafted_VBN_3_21, ._._23_134); pobj(by_IN_4_29, Dodgers_NNP_8_48); det(Dodgers_NNP_8_48, the_DT_5_32); nn(Dodgers_NNP_8_48, Los_NNP_6_36); nn(Dodgers_NNP_8_48, Angeles_NNP_7_40); pobj(in_IN_9_56, draft_NN_13_76); det(draft_NN_13_76, the_DT_10_59); num(draft_NN_13_76, 1999_CD_11_63); amod(draft_NN_13_76, amateur_JJ_12_68); auxpass(traded_VBN_17_95, was_VBD_15_86); advmod(traded_VBN_17_95, then_RB_16_90); prep(traded_VBN_17_95, to_TO_18_102); prt(traded_VBN_17_95, in_IN_22_131); pobj(to_TO_18_102, Phillies_NNP_21_122); det(Phillies_NNP_21_122, the_DT_19_105); nn(Phillies_NNP_21_122, Philadelphia_NNP_20_109) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8462126651811251 1.0 59 0.855072463768116 (he; was registered as; a CSKA player) false false After CSKA qualified for the round of 16 of the UEFA Cup 2008 , he was called back from the loan and on 12 March 2009 was registered as a CSKA player . pobj(After_IN_0_0, CSKA_NNP_1_6); prep(qualified_VBD_2_11, After_IN_0_0); prep(qualified_VBD_2_11, for_IN_3_21); pobj(for_IN_3_21, round_NN_5_29); det(round_NN_5_29, the_DT_4_25); prep(round_NN_5_29, of_IN_6_35); pobj(of_IN_6_35, 16_CD_7_38); prep(16_CD_7_38, of_IN_8_41); pobj(of_IN_8_41, Cup_NNP_11_53); det(Cup_NNP_11_53, the_DT_9_44); nn(Cup_NNP_11_53, UEFA_NNP_10_48); num(Cup_NNP_11_53, 2008_CD_12_57); advcl(called_VBN_16_71, qualified_VBD_2_11); punct(called_VBN_16_71, ,_,_13_62); nsubjpass(called_VBN_16_71, he_PRP_14_64); auxpass(called_VBN_16_71, was_VBD_15_67); advmod(called_VBN_16_71, back_RB_17_78); prep(called_VBN_16_71, from_IN_18_83); cc(called_VBN_16_71, and_CC_21_97); conj(called_VBN_16_71, registered_VBN_27_122); punct(called_VBN_16_71, ._._32_150); pobj(from_IN_18_83, loan_NN_20_92); det(loan_NN_20_92, the_DT_19_88); pobj(on_IN_22_101, March_NNP_24_107); num(March_NNP_24_107, 12_CD_23_104); num(March_NNP_24_107, 2009_CD_25_113); prep(registered_VBN_27_122, on_IN_22_101); auxpass(registered_VBN_27_122, was_VBD_26_118); prep(registered_VBN_27_122, as_IN_28_133); pobj(as_IN_28_133, player_NN_31_143); det(player_NN_31_143, a_DT_29_136); nn(player_NN_31_143, CSKA_NNP_30_138) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8462126651811251 1.0 60 0.8571428571428571 (she; was kidnapped on; January 7 , 2006) false false Carroll became an international cause clbre when she was kidnapped in Baghdad on January 7 , 2006 . nsubj(clbre_NN_5_38, Carroll_NNP_0_0); cop(clbre_NN_5_38, became_VBD_1_8); det(clbre_NN_5_38, an_DT_2_15); amod(clbre_NN_5_38, international_JJ_3_18); nn(clbre_NN_5_38, cause_NN_4_32); advcl(clbre_NN_5_38, kidnapped_VBN_9_57); punct(clbre_NN_5_38, ._._17_98); advmod(kidnapped_VBN_9_57, when_WRB_6_44); nsubjpass(kidnapped_VBN_9_57, she_PRP_7_49); auxpass(kidnapped_VBN_9_57, was_VBD_8_53); prep(kidnapped_VBN_9_57, in_IN_10_67); prep(kidnapped_VBN_9_57, on_IN_12_78); pobj(in_IN_10_67, Baghdad_NNP_11_70); pobj(on_IN_12_78, January_NNP_13_81); num(January_NNP_13_81, 7_CD_14_89); punct(January_NNP_13_81, ,_,_15_91); num(January_NNP_13_81, 2006_CD_16_93) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8462126651811251 1.0 61 0.8591549295774648 (he; was hit by; Texas Rangers pitcher C.J. Wilson) false false His season was cut short when on September 1 , he was hit on the hand by Texas Rangers pitcher C.J. Wilson . poss(season_NN_1_4, His_PRP$_0_0); nsubjpass(cut_VBN_3_15, season_NN_1_4); auxpass(cut_VBN_3_15, was_VBD_2_11); dep(cut_VBN_3_15, short_JJ_4_19); punct(cut_VBN_3_15, ._._22_107); advcl(short_JJ_4_19, hit_VBN_12_54); pobj(on_IN_6_30, September_NNP_7_33); num(September_NNP_7_33, 1_CD_8_43); advmod(hit_VBN_12_54, when_WRB_5_25); prep(hit_VBN_12_54, on_IN_6_30); punct(hit_VBN_12_54, ,_,_9_45); nsubjpass(hit_VBN_12_54, he_PRP_10_47); auxpass(hit_VBN_12_54, was_VBD_11_50); prep(hit_VBN_12_54, on_IN_13_58); prep(hit_VBN_12_54, by_IN_16_70); pobj(on_IN_13_58, hand_NN_15_65); det(hand_NN_15_65, the_DT_14_61); pobj(by_IN_16_70, Wilson_NNP_21_100); nn(Wilson_NNP_21_100, Texas_NNP_17_73); nn(Wilson_NNP_21_100, Rangers_NNPS_18_79); nn(Wilson_NNP_21_100, pitcher_NN_19_87); nn(Wilson_NNP_21_100, C.J._NNP_20_95) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8462126651811251 1.0 62 0.8611111111111112 (he; was traded for; Rickey Henderson , Bert Bradley , and cash) false false On December 5 , 1984 , as a minor-leaguer , he was traded by the New York Yankees with Tim Birtsas , Jay Howell , Stan Javier , and Jose Rijo to the Oakland Athletics for Rickey Henderson , Bert Bradley , and cash . pobj(On_IN_0_0, December_NNP_1_3); num(December_NNP_1_3, 5_CD_2_12); punct(December_NNP_1_3, ,_,_3_14); num(December_NNP_1_3, 1984_CD_4_16); pobj(as_IN_6_23, minor-leaguer_NN_8_28); det(minor-leaguer_NN_8_28, a_DT_7_26); prep(traded_VBN_12_51, On_IN_0_0); punct(traded_VBN_12_51, ,_,_5_21); prep(traded_VBN_12_51, as_IN_6_23); punct(traded_VBN_12_51, ,_,_9_42); nsubjpass(traded_VBN_12_51, he_PRP_10_44); auxpass(traded_VBN_12_51, was_VBD_11_47); prep(traded_VBN_12_51, by_IN_13_58); prep(traded_VBN_12_51, to_TO_31_142); prep(traded_VBN_12_51, for_IN_35_167); punct(traded_VBN_12_51, ._._44_214); pobj(by_IN_13_58, Yankees_NNS_17_74); det(Yankees_NNS_17_74, the_DT_14_61); nn(Yankees_NNS_17_74, New_NNP_15_65); nn(Yankees_NNS_17_74, York_NNP_16_69); prep(Yankees_NNS_17_74, with_IN_18_82); pobj(with_IN_18_82, Birtsas_NNP_20_91); nn(Birtsas_NNP_20_91, Tim_NNP_19_87); punct(Birtsas_NNP_20_91, ,_,_21_99); conj(Birtsas_NNP_20_91, Howell_NNP_23_105); punct(Birtsas_NNP_20_91, ,_,_24_112); conj(Birtsas_NNP_20_91, Javier_NNP_26_119); punct(Birtsas_NNP_20_91, ,_,_27_126); cc(Birtsas_NNP_20_91, and_CC_28_128); conj(Birtsas_NNP_20_91, Rijo_NNP_30_137); nn(Howell_NNP_23_105, Jay_NNP_22_101); nn(Javier_NNP_26_119, Stan_NNP_25_114); nn(Rijo_NNP_30_137, Jose_NNP_29_132); pobj(to_TO_31_142, Athletics_NNP_34_157); det(Athletics_NNP_34_157, the_DT_32_145); nn(Athletics_NNP_34_157, Oakland_NNP_33_149); pobj(for_IN_35_167, Henderson_NNP_37_178); nn(Henderson_NNP_37_178, Rickey_NNP_36_171); punct(Henderson_NNP_37_178, ,_,_38_188); appos(Henderson_NNP_37_178, Bradley_NNP_40_195); punct(Henderson_NNP_37_178, ,_,_41_203); cc(Henderson_NNP_37_178, and_CC_42_205); conj(Henderson_NNP_37_178, cash_NN_43_209); nn(Bradley_NNP_40_195, Bert_NNP_39_190) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8462126651811251 1.0 63 0.863013698630137 (SirsiDynix; was formed in; June 2005) false false The Dynix corporation was founded in 1983 , and SirsiDynix was formed by the merger of the Sirsi and Dynix corporations in June 2005 . det(corporation_NN_2_10, The_DT_0_0); nn(corporation_NN_2_10, Dynix_NNP_1_4); nsubjpass(founded_VBN_4_26, corporation_NN_2_10); auxpass(founded_VBN_4_26, was_VBD_3_22); prep(founded_VBN_4_26, in_IN_5_34); punct(founded_VBN_4_26, ,_,_7_42); cc(founded_VBN_4_26, and_CC_8_44); conj(founded_VBN_4_26, formed_VBN_11_63); punct(founded_VBN_4_26, ._._24_133); pobj(in_IN_5_34, 1983_CD_6_37); nsubjpass(formed_VBN_11_63, SirsiDynix_NNP_9_48); auxpass(formed_VBN_11_63, was_VBD_10_59); prep(formed_VBN_11_63, by_IN_12_70); prep(formed_VBN_11_63, in_IN_21_120); pobj(by_IN_12_70, merger_NN_14_77); det(merger_NN_14_77, the_DT_13_73); prep(merger_NN_14_77, of_IN_15_84); pobj(of_IN_15_84, corporations_NNS_20_107); cc(Sirsi_NNP_17_91, and_CC_18_97); conj(Sirsi_NNP_17_91, Dynix_NNP_19_101); det(corporations_NNS_20_107, the_DT_16_87); nn(corporations_NNS_20_107, Sirsi_NNP_17_91); pobj(in_IN_21_120, June_NNP_22_123); num(June_NNP_22_123, 2005_CD_23_128) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8425716143188683 0.7345 64 0.8648648648648649 (Dominion Textile Inc. holders; adopted a shareholder-rights plan at; the annual meeting) false false Dominion Textile Inc. holders adopted a shareholder-rights plan at the annual meeting . nn(holders_NNS_3_22, Dominion_NNP_0_0); nn(holders_NNS_3_22, Textile_NNP_1_9); nn(holders_NNS_3_22, Inc._NNP_2_17); nsubj(adopted_VBD_4_30, holders_NNS_3_22); dobj(adopted_VBD_4_30, plan_NN_7_59); prep(adopted_VBD_4_30, at_IN_8_64); punct(adopted_VBD_4_30, ._._12_86); det(plan_NN_7_59, a_DT_5_38); nn(plan_NN_7_59, shareholder-rights_NNS_6_40); pobj(at_IN_8_64, meeting_NN_11_78); det(meeting_NN_11_78, the_DT_9_67); amod(meeting_NN_11_78, annual_JJ_10_71) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8405259213434341 0.0416 65 0.8666666666666667 (The certificates; have; an estimated average life of 1.8 years) false false The certificates have an estimated average life of 1.8 years , assuming monthly prepayments at 1.3 % of the original balance . det(certificates_NNS_1_4, The_DT_0_0); nsubj(have_VBP_2_17, certificates_NNS_1_4); dobj(have_VBP_2_17, life_NN_6_43); punct(have_VBP_2_17, ,_,_10_61); xcomp(have_VBP_2_17, assuming_VBG_11_63); punct(have_VBP_2_17, ._._21_125); det(life_NN_6_43, an_DT_3_22); amod(life_NN_6_43, estimated_VBN_4_25); amod(life_NN_6_43, average_JJ_5_35); prep(life_NN_6_43, of_IN_7_48); pobj(of_IN_7_48, years_NNS_9_55); num(years_NNS_9_55, 1.8_CD_8_51); dobj(assuming_VBG_11_63, prepayments_NNS_13_80); amod(prepayments_NNS_13_80, monthly_JJ_12_72); prep(prepayments_NNS_13_80, at_IN_14_92); pobj(at_IN_14_92, %_NN_16_99); num(%_NN_16_99, 1.3_CD_15_95); prep(%_NN_16_99, of_IN_17_101); pobj(of_IN_17_101, balance_NN_20_117); det(balance_NN_20_117, the_DT_18_104); amod(balance_NN_20_117, original_JJ_19_108) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0416 1.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8403453643089236 1.0 66 0.868421052631579 (The index which uses a base of 1981 as 100; was calculated at; 140.91 points) false false The index , which uses a base of 1981 as 100 , was calculated at 140.91 points in October , from 140.74 in September . det(index_NN_1_4, The_DT_0_0); punct(index_NN_1_4, ,_,_2_10); rcmod(index_NN_1_4, uses_VBZ_4_18); punct(index_NN_1_4, ,_,_11_45); nsubj(uses_VBZ_4_18, which_WDT_3_12); dobj(uses_VBZ_4_18, base_NN_6_25); prep(uses_VBZ_4_18, as_IN_9_38); det(base_NN_6_25, a_DT_5_23); prep(base_NN_6_25, of_IN_7_30); pobj(of_IN_7_30, 1981_CD_8_33); pobj(as_IN_9_38, 100_CD_10_41); nsubjpass(calculated_VBN_13_51, index_NN_1_4); auxpass(calculated_VBN_13_51, was_VBD_12_47); prep(calculated_VBN_13_51, at_IN_14_62); punct(calculated_VBN_13_51, ,_,_19_90); prep(calculated_VBN_13_51, from_IN_20_92); punct(calculated_VBN_13_51, ._._24_117); pobj(at_IN_14_62, points_NNS_16_72); num(points_NNS_16_72, 140.91_CD_15_65); prep(points_NNS_16_72, in_IN_17_79); pobj(in_IN_17_79, October_NNP_18_82); pobj(from_IN_20_92, 140.74_CD_21_97); dep(from_IN_20_92, in_IN_22_104); pobj(in_IN_22_104, September_NNP_23_107) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8403453643089236 1.0 67 0.8701298701298701 (The index which uses a base of 1981 as 100; was calculated from; 140.74) false false The index , which uses a base of 1981 as 100 , was calculated at 140.91 points in October , from 140.74 in September . det(index_NN_1_4, The_DT_0_0); punct(index_NN_1_4, ,_,_2_10); rcmod(index_NN_1_4, uses_VBZ_4_18); punct(index_NN_1_4, ,_,_11_45); nsubj(uses_VBZ_4_18, which_WDT_3_12); dobj(uses_VBZ_4_18, base_NN_6_25); prep(uses_VBZ_4_18, as_IN_9_38); det(base_NN_6_25, a_DT_5_23); prep(base_NN_6_25, of_IN_7_30); pobj(of_IN_7_30, 1981_CD_8_33); pobj(as_IN_9_38, 100_CD_10_41); nsubjpass(calculated_VBN_13_51, index_NN_1_4); auxpass(calculated_VBN_13_51, was_VBD_12_47); prep(calculated_VBN_13_51, at_IN_14_62); punct(calculated_VBN_13_51, ,_,_19_90); prep(calculated_VBN_13_51, from_IN_20_92); punct(calculated_VBN_13_51, ._._24_117); pobj(at_IN_14_62, points_NNS_16_72); num(points_NNS_16_72, 140.91_CD_15_65); prep(points_NNS_16_72, in_IN_17_79); pobj(in_IN_17_79, October_NNP_18_82); pobj(from_IN_20_92, 140.74_CD_21_97); dep(from_IN_20_92, in_IN_22_104); pobj(in_IN_22_104, September_NNP_23_107) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0
1 0.8393867143453748 0.9555 68 0.8717948717948718 (He; was a producer on; several Australian television series) false false He was a producer on several Australian television series for Crawford Productions including soap opera The Box in 1976-77 , and police procedural drama series Bluey and Homicide . nsubj(producer_NN_3_9, He_PRP_0_0); cop(producer_NN_3_9, was_VBD_1_3); det(producer_NN_3_9, a_DT_2_7); prep(producer_NN_3_9, on_IN_4_18); punct(producer_NN_3_9, ._._28_179); pobj(on_IN_4_18, series_NN_8_51); amod(series_NN_8_51, several_JJ_5_21); amod(series_NN_8_51, Australian_JJ_6_29); nn(series_NN_8_51, television_NN_7_40); prep(series_NN_8_51, for_IN_9_58); pobj(for_IN_9_58, Productions_NNPS_11_71); nn(Productions_NNPS_11_71, Crawford_NNP_10_62); prep(Productions_NNPS_11_71, including_VBG_12_83); punct(Productions_NNPS_11_71, ,_,_19_123); cc(Productions_NNPS_11_71, and_CC_20_125); conj(Productions_NNPS_11_71, Bluey_NNP_25_160); cc(Productions_NNPS_11_71, and_CC_26_166); conj(Productions_NNPS_11_71, Homicide_NNP_27_170); pobj(including_VBG_12_83, opera_NN_14_98); nn(opera_NN_14_98, soap_NN_13_93); dep(opera_NN_14_98, Box_NNP_16_108); prep(opera_NN_14_98, in_IN_17_112); det(Box_NNP_16_108, The_DT_15_104); pobj(in_IN_17_112, 1976-77_CD_18_115); nn(Bluey_NNP_25_160, police_NN_21_129); amod(Bluey_NNP_25_160, procedural_JJ_22_136); nn(Bluey_NNP_25_160, drama_NN_23_147); nn(Bluey_NNP_25_160, series_NN_24_153) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9555 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8349439109076757 0.1473 69 0.8734177215189873 (that nervous reflexes; earlier stimulate; the release of saliva)[enabler=when food enters the oral cavity and orchestrate swallowing when a bolus of food reaches the pharynx] true false For example , you learned earlier that nervous reflexes stimulate the release of saliva when food enters the oral cavity and orchestrate swallowing when a bolus of food reaches the pharynx . pobj(For_IN_0_0, example_NN_1_4); prep(learned_VBD_4_18, For_IN_0_0); punct(learned_VBD_4_18, ,_,_2_12); nsubj(learned_VBD_4_18, you_PRP_3_14); xcomp(learned_VBD_4_18, stimulate_VB_9_56); punct(learned_VBD_4_18, ._._31_189); det(reflexes_NNS_8_47, that_DT_6_34); amod(reflexes_NNS_8_47, nervous_JJ_7_39); advmod(stimulate_VB_9_56, earlier_RB_5_26); nsubj(stimulate_VB_9_56, reflexes_NNS_8_47); dobj(stimulate_VB_9_56, release_NN_11_70); advcl(stimulate_VB_9_56, enters_VBZ_16_98); det(release_NN_11_70, the_DT_10_66); prep(release_NN_11_70, of_IN_12_78); pobj(of_IN_12_78, saliva_NN_13_81); advmod(enters_VBZ_16_98, when_WRB_14_88); nsubj(enters_VBZ_16_98, food_NN_15_93); dobj(enters_VBZ_16_98, cavity_NN_19_114); advcl(enters_VBZ_16_98, reaches_VBZ_28_169); det(cavity_NN_19_114, the_DT_17_105); amod(cavity_NN_19_114, oral_JJ_18_109); cc(cavity_NN_19_114, and_CC_20_121); conj(cavity_NN_19_114, swallowing_NN_22_137); nn(swallowing_NN_22_137, orchestrate_NN_21_125); det(bolus_NN_25_155, a_DT_24_153); prep(bolus_NN_25_155, of_IN_26_161); pobj(of_IN_26_161, food_NN_27_164); advmod(reaches_VBZ_28_169, when_WRB_23_148); nsubj(reaches_VBZ_28_169, bolus_NN_25_155); dobj(reaches_VBZ_28_169, pharynx_NN_30_181); det(pharynx_NN_30_181, the_DT_29_177) 0.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.1473 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
0 0.8343102124213516 0.7345 69 0.8625 (he; was during; his innings of 23) false false Dhoni , when he was on 4 during his innings of 23 against Sri Lanka at R.Premadasa Stadium , Colombo on Saturday , completed his 4,000 runs in ODIs . punct(Dhoni_NNS_0_0, ,_,_1_6); advmod(was_VBD_4_16, when_WRB_2_8); nsubj(was_VBD_4_16, he_PRP_3_13); prep(was_VBD_4_16, on_IN_5_20); prep(was_VBD_4_16, during_IN_7_25); prep(was_VBD_4_16, at_IN_15_68); pobj(on_IN_5_20, 4_CD_6_23); pobj(during_IN_7_25, innings_NN_9_36); poss(innings_NN_9_36, his_PRP$_8_32); prep(innings_NN_9_36, of_IN_10_44); prep(innings_NN_9_36, against_IN_12_50); pobj(of_IN_10_44, 23_CD_11_47); pobj(against_IN_12_50, Lanka_NNP_14_62); nn(Lanka_NNP_14_62, Sri_NNP_13_58); pobj(at_IN_15_68, Stadium_NNP_17_83); nn(Stadium_NNP_17_83, R.Premadasa_NNP_16_71); punct(Stadium_NNP_17_83, ,_,_18_91); appos(Stadium_NNP_17_83, Colombo_NNP_19_93); prep(Colombo_NNP_19_93, on_IN_20_101); pobj(on_IN_20_101, Saturday_NNP_21_104); nsubj(completed_VBD_23_115, Dhoni_NNS_0_0); dep(completed_VBD_23_115, was_VBD_4_16); punct(completed_VBD_23_115, ,_,_22_113); dobj(completed_VBD_23_115, runs_NNS_26_135); punct(completed_VBD_23_115, ._._29_148); poss(runs_NNS_26_135, his_PRP$_24_125); num(runs_NNS_26_135, 4,000_CD_25_129); prep(runs_NNS_26_135, in_IN_27_140); pobj(in_IN_27_140, ODIs_NNP_28_143) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 1.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8332152564951584 0.7345 70 0.8641975308641975 (his family; moved to; northwestern Pennsylvania) false false Beecher began collecting fossils from local sandstones and shales when his family moved to northwestern Pennsylvania , resulting in a collection of fossil phyllocarids and freshwater unionids prior to his studying for an undergraduate degree from University of Michigan . nsubj(began_VBD_1_8, Beecher_NNP_0_0); xcomp(began_VBD_1_8, collecting_VBG_2_14); punct(began_VBD_1_8, ._._39_270); dobj(collecting_VBG_2_14, fossils_NNS_3_25); prep(collecting_VBG_2_14, from_IN_4_33); advcl(collecting_VBG_2_14, moved_VBD_12_82); punct(collecting_VBG_2_14, ,_,_16_117); xcomp(collecting_VBG_2_14, resulting_VBG_17_119); pobj(from_IN_4_33, sandstones_NNS_6_44); amod(sandstones_NNS_6_44, local_JJ_5_38); cc(sandstones_NNS_6_44, and_CC_7_55); conj(sandstones_NNS_6_44, shales_NNS_8_59); poss(family_NN_11_75, his_PRP$_10_71); advmod(moved_VBD_12_82, when_WRB_9_66); nsubj(moved_VBD_12_82, family_NN_11_75); prep(moved_VBD_12_82, to_TO_13_88); pobj(to_TO_13_88, Pennsylvania_NNP_15_104); amod(Pennsylvania_NNP_15_104, northwestern_JJ_14_91); prep(resulting_VBG_17_119, in_IN_18_129); advmod(resulting_VBG_17_119, prior_RB_27_192); pobj(in_IN_18_129, collection_NN_20_134); det(collection_NN_20_134, a_DT_19_132); prep(collection_NN_20_134, of_IN_21_145); pobj(of_IN_21_145, phyllocarids_NNS_23_155); amod(phyllocarids_NNS_23_155, fossil_JJ_22_148); cc(phyllocarids_NNS_23_155, and_CC_24_168); conj(phyllocarids_NNS_23_155, unionids_NNS_26_183); nn(unionids_NNS_26_183, freshwater_NN_25_172); dep(prior_RB_27_192, to_TO_28_198); pcomp(to_TO_28_198, studying_VBG_30_205); poss(studying_VBG_30_205, his_PRP$_29_201); prep(studying_VBG_30_205, for_IN_31_214); pobj(for_IN_31_214, degree_NN_34_235); det(degree_NN_34_235, an_DT_32_218); amod(degree_NN_34_235, undergraduate_JJ_33_221); prep(degree_NN_34_235, from_IN_35_242); pobj(from_IN_35_242, University_NNP_36_247); prep(University_NNP_36_247, of_IN_37_258); pobj(of_IN_37_258, Michigan_NNP_38_261) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8332152564951584 0.7345 71 0.8658536585365854 (he; was at; R.Premadasa Stadium) false false Dhoni , when he was on 4 during his innings of 23 against Sri Lanka at R.Premadasa Stadium , Colombo on Saturday , completed his 4,000 runs in ODIs . punct(Dhoni_NNS_0_0, ,_,_1_6); advmod(was_VBD_4_16, when_WRB_2_8); nsubj(was_VBD_4_16, he_PRP_3_13); prep(was_VBD_4_16, on_IN_5_20); prep(was_VBD_4_16, during_IN_7_25); prep(was_VBD_4_16, at_IN_15_68); pobj(on_IN_5_20, 4_CD_6_23); pobj(during_IN_7_25, innings_NN_9_36); poss(innings_NN_9_36, his_PRP$_8_32); prep(innings_NN_9_36, of_IN_10_44); prep(innings_NN_9_36, against_IN_12_50); pobj(of_IN_10_44, 23_CD_11_47); pobj(against_IN_12_50, Lanka_NNP_14_62); nn(Lanka_NNP_14_62, Sri_NNP_13_58); pobj(at_IN_15_68, Stadium_NNP_17_83); nn(Stadium_NNP_17_83, R.Premadasa_NNP_16_71); punct(Stadium_NNP_17_83, ,_,_18_91); appos(Stadium_NNP_17_83, Colombo_NNP_19_93); prep(Colombo_NNP_19_93, on_IN_20_101); pobj(on_IN_20_101, Saturday_NNP_21_104); nsubj(completed_VBD_23_115, Dhoni_NNS_0_0); dep(completed_VBD_23_115, was_VBD_4_16); punct(completed_VBD_23_115, ,_,_22_113); dobj(completed_VBD_23_115, runs_NNS_26_135); punct(completed_VBD_23_115, ._._29_148); poss(runs_NNS_26_135, his_PRP$_24_125); num(runs_NNS_26_135, 4,000_CD_25_129); prep(runs_NNS_26_135, in_IN_27_140); pobj(in_IN_27_140, ODIs_NNP_28_143) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
0 0.8332152564951584 0.7345 71 0.8554216867469879 (prices; closed in; Zurich , Stockholm and Amsterdam) false false Elsewhere , prices surged for a second day in Frankfurt , closed higher in Zurich , Stockholm and Amsterdam and were broadly lower in Milan , Paris and Brussels . advmod(surged_VBD_3_19, Elsewhere_RB_0_0); punct(surged_VBD_3_19, ,_,_1_10); nsubj(surged_VBD_3_19, prices_NNS_2_12); prep(surged_VBD_3_19, for_IN_4_26); punct(surged_VBD_3_19, ,_,_10_56); conj(surged_VBD_3_19, closed_VBD_11_58); cc(surged_VBD_3_19, and_CC_19_108); conj(surged_VBD_3_19, lower_JJR_22_125); punct(surged_VBD_3_19, ._._29_161); pobj(for_IN_4_26, day_NN_7_39); det(day_NN_7_39, a_DT_5_30); amod(day_NN_7_39, second_JJ_6_32); prep(day_NN_7_39, in_IN_8_43); pobj(in_IN_8_43, Frankfurt_NNP_9_46); dep(closed_VBD_11_58, higher_JJR_12_65); prep(closed_VBD_11_58, in_IN_13_72); pobj(in_IN_13_72, Zurich_NNP_14_75); punct(Zurich_NNP_14_75, ,_,_15_82); conj(Zurich_NNP_14_75, Stockholm_NNP_16_84); cc(Zurich_NNP_14_75, and_CC_17_94); conj(Zurich_NNP_14_75, Amsterdam_NNP_18_98); cop(lower_JJR_22_125, were_VBD_20_112); advmod(lower_JJR_22_125, broadly_RB_21_117); prep(lower_JJR_22_125, in_IN_23_131); pobj(in_IN_23_131, Milan_NNP_24_134); punct(Milan_NNP_24_134, ,_,_25_140); conj(Milan_NNP_24_134, Paris_NNP_26_142); cc(Milan_NNP_24_134, and_CC_27_148); conj(Milan_NNP_24_134, Brussels_NNP_28_152) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8332152564951584 0.7345 72 0.8571428571428571 (government; operated Hutt Park Railway in; Petone) false false Hutt Park railway station was on the privately owned but government operated Hutt Park Railway in Petone , a suburb of the city of Lower Hutt in the Wellington region of New Zealand s North Island . nn(station_NN_3_18, Hutt_NNP_0_0); nn(station_NN_3_18, Park_NNP_1_5); nn(station_NN_3_18, railway_NN_2_10); nsubj(was_VBD_4_26, station_NN_3_18); prep(was_VBD_4_26, on_IN_5_30); punct(was_VBD_4_26, ._._36_197); pobj(on_IN_5_30, owned_VBN_8_47); dep(owned_VBN_8_47, the_DT_6_33); advmod(owned_VBN_8_47, privately_RB_7_37); cc(owned_VBN_8_47, but_CC_9_53); conj(owned_VBN_8_47, operated_VBD_11_68); nsubj(operated_VBD_11_68, government_NN_10_57); dobj(operated_VBD_11_68, Railway_NNP_14_87); prep(operated_VBD_11_68, in_IN_15_95); dep(operated_VBD_11_68, s_VBZ_33_182); nn(Railway_NNP_14_87, Hutt_NNP_12_77); nn(Railway_NNP_14_87, Park_NNP_13_82); pobj(in_IN_15_95, Petone_NNP_16_98); punct(Petone_NNP_16_98, ,_,_17_105); appos(Petone_NNP_16_98, suburb_NN_19_109); det(suburb_NN_19_109, a_DT_18_107); prep(suburb_NN_19_109, of_IN_20_116); prep(suburb_NN_19_109, in_IN_26_142); pobj(of_IN_20_116, city_NN_22_123); det(city_NN_22_123, the_DT_21_119); prep(city_NN_22_123, of_IN_23_128); pobj(of_IN_23_128, Hutt_NNP_25_137); nn(Hutt_NNP_25_137, Lower_NNP_24_131); pobj(in_IN_26_142, region_NN_29_160); det(region_NN_29_160, the_DT_27_145); nn(region_NN_29_160, Wellington_NNP_28_149); prep(region_NN_29_160, of_IN_30_167); pobj(of_IN_30_167, Zealand_NNP_32_174); nn(Zealand_NNP_32_174, New_NNP_31_170); dobj(s_VBZ_33_182, Island_NNP_35_190); nn(Island_NNP_35_190, North_NNP_34_184) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8332152564951584 0.7345 73 0.8588235294117647 (he; completed the year-long course at; the Canadian Forces Command and Staff College) false false While in the CF , he completed the year-long course at the Canadian Forces Command and Staff College and received a Master of Arts in war studies degree from Royal Military College of Canada , student # G0053 in 1980 . dep(While_IN_0_0, in_IN_1_6); pobj(in_IN_1_6, CF_NNP_3_13); det(CF_NNP_3_13, the_DT_2_9); prep(completed_VBD_6_21, While_IN_0_0); punct(completed_VBD_6_21, ,_,_4_16); nsubj(completed_VBD_6_21, he_PRP_5_18); dobj(completed_VBD_6_21, course_NN_9_45); prep(completed_VBD_6_21, at_IN_10_52); cc(completed_VBD_6_21, and_CC_18_101); conj(completed_VBD_6_21, received_VBD_19_105); punct(completed_VBD_6_21, ._._40_217); det(course_NN_9_45, the_DT_7_31); amod(course_NN_9_45, year-long_JJ_8_35); pobj(at_IN_10_52, Command_NNP_14_75); det(Command_NNP_14_75, the_DT_11_55); nn(Command_NNP_14_75, Canadian_NNP_12_59); nn(Command_NNP_14_75, Forces_NNP_13_68); cc(Command_NNP_14_75, and_CC_15_83); conj(Command_NNP_14_75, College_NNP_17_93); nn(College_NNP_17_93, Staff_NNP_16_87); dobj(received_VBD_19_105, Master_NN_21_116); prep(received_VBD_19_105, in_IN_24_131); prep(received_VBD_19_105, from_IN_28_153); det(Master_NN_21_116, a_DT_20_114); prep(Master_NN_21_116, of_IN_22_123); pobj(of_IN_22_123, Arts_NNS_23_126); pobj(in_IN_24_131, degree_NN_27_146); nn(degree_NN_27_146, war_NN_25_134); nn(degree_NN_27_146, studies_NNS_26_138); pobj(from_IN_28_153, College_NNP_31_173); nn(College_NNP_31_173, Royal_NNP_29_158); nn(College_NNP_31_173, Military_NNP_30_164); prep(College_NNP_31_173, of_IN_32_181); punct(College_NNP_31_173, ,_,_34_191); appos(College_NNP_31_173, student_NN_35_193); pobj(of_IN_32_181, Canada_NNP_33_184); ccomp(student_NN_35_193, G0053_._37_203); dep(G0053_._37_203, #_#_36_201); prep(G0053_._37_203, in_IN_38_209); pobj(in_IN_38_209, 1980_CD_39_212) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0
1 0.8305035189003607 1.0 74 0.8604651162790697 (Five million shares; will be offered in; the U.S.) false false Five million shares will be offered in the U.S. , and 3.4 million additional shares will be offered in concurrent international offerings outside the U.S. . number(million_CD_1_5, Five_CD_0_0); num(shares_NNS_2_13, million_CD_1_5); nsubjpass(offered_VBN_5_28, shares_NNS_2_13); aux(offered_VBN_5_28, will_MD_3_20); auxpass(offered_VBN_5_28, be_VB_4_25); prep(offered_VBN_5_28, in_IN_6_36); punct(offered_VBN_5_28, ,_,_9_48); cc(offered_VBN_5_28, and_CC_10_50); conj(offered_VBN_5_28, offered_VBN_17_92); punct(offered_VBN_5_28, ._._25_155); pobj(in_IN_6_36, U.S._NNP_8_43); det(U.S._NNP_8_43, the_DT_7_39); number(million_CD_12_58, 3.4_CD_11_54); num(shares_NNS_14_77, million_CD_12_58); amod(shares_NNS_14_77, additional_JJ_13_66); nsubjpass(offered_VBN_17_92, shares_NNS_14_77); aux(offered_VBN_17_92, will_MD_15_84); auxpass(offered_VBN_17_92, be_VB_16_89); prep(offered_VBN_17_92, in_IN_18_100); pobj(in_IN_18_100, offerings_NNS_21_128); amod(offerings_NNS_21_128, concurrent_JJ_19_103); amod(offerings_NNS_21_128, international_JJ_20_114); prep(offerings_NNS_21_128, outside_IN_22_138); pobj(outside_IN_22_138, U.S._NNP_24_150); det(U.S._NNP_24_150, the_DT_23_146) 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8303410676804649 0.0416 75 0.8620689655172413 (Root apical meristems; also produce; auxin)[enabler=although the root depends on the shoot for much of its auxin] true false Root apical meristems also produce auxin , although the root depends on the shoot for much of its auxin . nn(meristems_NNS_2_12, Root_NNP_0_0); amod(meristems_NNS_2_12, apical_JJ_1_5); nsubj(produce_VBP_4_27, meristems_NNS_2_12); advmod(produce_VBP_4_27, also_RB_3_22); dobj(produce_VBP_4_27, auxin_NN_5_35); punct(produce_VBP_4_27, ,_,_6_41); advcl(produce_VBP_4_27, depends_VBZ_10_61); punct(produce_VBP_4_27, ._._19_104); det(root_NN_9_56, the_DT_8_52); mark(depends_VBZ_10_61, although_IN_7_43); nsubj(depends_VBZ_10_61, root_NN_9_56); prep(depends_VBZ_10_61, on_IN_11_69); pobj(on_IN_11_69, shoot_NN_13_76); det(shoot_NN_13_76, the_DT_12_72); prep(shoot_NN_13_76, for_IN_14_82); pobj(for_IN_14_82, much_JJ_15_86); prep(much_JJ_15_86, of_IN_16_91); pobj(of_IN_16_91, auxin_NN_18_98); poss(auxin_NN_18_98, its_PRP$_17_94) 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0416 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.827468041502386 0.7345 76 0.8636363636363636 (Beecher; began collecting fossils from; local sandstones and shales)[enabler=when his family moved to northwestern Pennsylvania] true false Beecher began collecting fossils from local sandstones and shales when his family moved to northwestern Pennsylvania , resulting in a collection of fossil phyllocarids and freshwater unionids prior to his studying for an undergraduate degree from University of Michigan . nsubj(began_VBD_1_8, Beecher_NNP_0_0); xcomp(began_VBD_1_8, collecting_VBG_2_14); punct(began_VBD_1_8, ._._39_270); dobj(collecting_VBG_2_14, fossils_NNS_3_25); prep(collecting_VBG_2_14, from_IN_4_33); advcl(collecting_VBG_2_14, moved_VBD_12_82); punct(collecting_VBG_2_14, ,_,_16_117); xcomp(collecting_VBG_2_14, resulting_VBG_17_119); pobj(from_IN_4_33, sandstones_NNS_6_44); amod(sandstones_NNS_6_44, local_JJ_5_38); cc(sandstones_NNS_6_44, and_CC_7_55); conj(sandstones_NNS_6_44, shales_NNS_8_59); poss(family_NN_11_75, his_PRP$_10_71); advmod(moved_VBD_12_82, when_WRB_9_66); nsubj(moved_VBD_12_82, family_NN_11_75); prep(moved_VBD_12_82, to_TO_13_88); pobj(to_TO_13_88, Pennsylvania_NNP_15_104); amod(Pennsylvania_NNP_15_104, northwestern_JJ_14_91); prep(resulting_VBG_17_119, in_IN_18_129); advmod(resulting_VBG_17_119, prior_RB_27_192); pobj(in_IN_18_129, collection_NN_20_134); det(collection_NN_20_134, a_DT_19_132); prep(collection_NN_20_134, of_IN_21_145); pobj(of_IN_21_145, phyllocarids_NNS_23_155); amod(phyllocarids_NNS_23_155, fossil_JJ_22_148); cc(phyllocarids_NNS_23_155, and_CC_24_168); conj(phyllocarids_NNS_23_155, unionids_NNS_26_183); nn(unionids_NNS_26_183, freshwater_NN_25_172); dep(prior_RB_27_192, to_TO_28_198); pcomp(to_TO_28_198, studying_VBG_30_205); poss(studying_VBG_30_205, his_PRP$_29_201); prep(studying_VBG_30_205, for_IN_31_214); pobj(for_IN_31_214, degree_NN_34_235); det(degree_NN_34_235, an_DT_32_218); amod(degree_NN_34_235, undergraduate_JJ_33_221); prep(degree_NN_34_235, from_IN_35_242); pobj(from_IN_35_242, University_NNP_36_247); prep(University_NNP_36_247, of_IN_37_258); pobj(of_IN_37_258, Michigan_NNP_38_261) 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.0 1.0
1 0.8269534825979009 0.7345 77 0.8651685393258427 (prices; Elsewhere surged for; a second day) false false Elsewhere , prices surged for a second day in Frankfurt , closed higher in Zurich , Stockholm and Amsterdam and were broadly lower in Milan , Paris and Brussels . advmod(surged_VBD_3_19, Elsewhere_RB_0_0); punct(surged_VBD_3_19, ,_,_1_10); nsubj(surged_VBD_3_19, prices_NNS_2_12); prep(surged_VBD_3_19, for_IN_4_26); punct(surged_VBD_3_19, ,_,_10_56); conj(surged_VBD_3_19, closed_VBD_11_58); cc(surged_VBD_3_19, and_CC_19_108); conj(surged_VBD_3_19, lower_JJR_22_125); punct(surged_VBD_3_19, ._._29_161); pobj(for_IN_4_26, day_NN_7_39); det(day_NN_7_39, a_DT_5_30); amod(day_NN_7_39, second_JJ_6_32); prep(day_NN_7_39, in_IN_8_43); pobj(in_IN_8_43, Frankfurt_NNP_9_46); dep(closed_VBD_11_58, higher_JJR_12_65); prep(closed_VBD_11_58, in_IN_13_72); pobj(in_IN_13_72, Zurich_NNP_14_75); punct(Zurich_NNP_14_75, ,_,_15_82); conj(Zurich_NNP_14_75, Stockholm_NNP_16_84); cc(Zurich_NNP_14_75, and_CC_17_94); conj(Zurich_NNP_14_75, Amsterdam_NNP_18_98); cop(lower_JJR_22_125, were_VBD_20_112); advmod(lower_JJR_22_125, broadly_RB_21_117); prep(lower_JJR_22_125, in_IN_23_131); pobj(in_IN_23_131, Milan_NNP_24_134); punct(Milan_NNP_24_134, ,_,_25_140); conj(Milan_NNP_24_134, Paris_NNP_26_142); cc(Milan_NNP_24_134, and_CC_27_148); conj(Milan_NNP_24_134, Brussels_NNP_28_152) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 1.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 1.0
1 0.8260213456731965 0.7345 78 0.8666666666666667 (the number of jobless; rose 0.1 % on; a seasonally adjusted basis) false false In September , the number of jobless rose 0.1 % from the previous month to 2.5 million on a seasonally adjusted basis . pobj(In_IN_0_0, September_NNP_1_3); det(number_NN_4_19, the_DT_3_15); prep(number_NN_4_19, of_IN_5_26); pobj(of_IN_5_26, jobless_JJ_6_29); prep(rose_VBD_7_37, In_IN_0_0); punct(rose_VBD_7_37, ,_,_2_13); nsubj(rose_VBD_7_37, number_NN_4_19); dobj(rose_VBD_7_37, %_NN_9_46); prep(rose_VBD_7_37, from_IN_10_48); prep(rose_VBD_7_37, to_TO_14_72); prep(rose_VBD_7_37, on_IN_17_87); punct(rose_VBD_7_37, ._._22_118); num(%_NN_9_46, 0.1_CD_8_42); pobj(from_IN_10_48, month_NN_13_66); det(month_NN_13_66, the_DT_11_53); amod(month_NN_13_66, previous_JJ_12_57); pobj(to_TO_14_72, million_CD_16_79); number(million_CD_16_79, 2.5_CD_15_75); pobj(on_IN_17_87, basis_NN_21_112); advmod(adjusted_JJ_20_103, seasonally_RB_19_92); det(basis_NN_21_112, a_DT_18_90); amod(basis_NN_21_112, adjusted_JJ_20_103) 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.7345 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.8249346444705182 0.0087 79 0.8681318681318682 (Bruno DeGol; was named; a director of this bank-holding company) false false Bruno DeGol , chairman of DeGol Brothers Lumber , Gallitzin , Pa . , was named a director o
gitextract_28sxprec/ ├── .dockerignore ├── .gitignore ├── .travis.yml ├── Dockerfile ├── LICENSE ├── README.md ├── app/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── resources/ │ │ │ └── logback.xml │ │ └── scala/ │ │ └── edu/ │ │ └── knowitall/ │ │ ├── ollie/ │ │ │ ├── OllieCli.scala │ │ │ └── SentenceIterator.scala │ │ └── openparse/ │ │ ├── OpenParseCli.scala │ │ ├── OpenParseGui.scala │ │ └── gui/ │ │ ├── Dot.scala │ │ ├── ExtractionEntry.scala │ │ ├── Parser.scala │ │ └── Sentence.scala │ └── test/ │ └── resources/ │ └── logback-test.xml ├── core/ │ ├── build.sbt │ ├── here.txt │ ├── pom.xml │ ├── project/ │ │ └── plugins.sbt │ ├── scripts/ │ │ ├── applypatterns.sh │ │ ├── build_templates.sh │ │ ├── create_patterns.sh │ │ ├── create_test_train.sh │ │ ├── extractor.sh │ │ └── keep_common_patterns.sh │ └── src/ │ ├── main/ │ │ ├── resources/ │ │ │ └── edu/ │ │ │ └── knowitall/ │ │ │ ├── ollie/ │ │ │ │ ├── cognitiveWords.txt │ │ │ │ ├── communicationWords.txt │ │ │ │ ├── confidence/ │ │ │ │ │ └── default-classifier.txt │ │ │ │ └── prefixWords.txt │ │ │ └── openparse/ │ │ │ ├── categories/ │ │ │ │ ├── location.txt │ │ │ │ └── person.txt │ │ │ └── openparse.model │ │ └── scala/ │ │ └── edu/ │ │ └── knowitall/ │ │ ├── common/ │ │ │ └── enrich/ │ │ │ └── Traversable.scala │ │ ├── ollie/ │ │ │ ├── DependencyGraphExtras.scala │ │ │ ├── NaryExtraction.scala │ │ │ ├── Ollie.scala │ │ │ ├── OllieExtraction.scala │ │ │ ├── OllieExtractionInstance.scala │ │ │ ├── ScoredOllieExtractionInstance.scala │ │ │ ├── confidence/ │ │ │ │ ├── OllieConfidenceFunction.scala │ │ │ │ ├── OllieFeatureEvaluation.scala │ │ │ │ ├── OllieFeatureSet.scala │ │ │ │ └── train/ │ │ │ │ ├── CrossValidateConfidence.scala │ │ │ │ └── TrainOllieConfidence.scala │ │ │ └── output/ │ │ │ └── BratOutput.scala │ │ └── openparse/ │ │ ├── AnalyzePatterns.scala │ │ ├── BuildPatterns.scala │ │ ├── ExtractorPattern.scala │ │ ├── GraphExpansions.scala │ │ ├── OpenParse.scala │ │ ├── bootstrap/ │ │ │ ├── FilterTargetExtractions.scala │ │ │ ├── FindCommon.scala │ │ │ ├── FindTargetArguments.scala │ │ │ └── FindTargetExtractions.scala │ │ ├── eval/ │ │ │ ├── GroupScoredBy.scala │ │ │ ├── PrecisionYield.scala │ │ │ ├── RankPatterns.scala │ │ │ ├── Score.scala │ │ │ └── StatisticalSignificance.scala │ │ ├── extract/ │ │ │ ├── Extraction.scala │ │ │ ├── GeneralExtractor.scala │ │ │ ├── PatternExtractor.scala │ │ │ ├── SpecificExtractor.scala │ │ │ └── TemplateExtractor.scala │ │ └── template/ │ │ ├── BuildTemplates.scala │ │ ├── CountsToConfidence.scala │ │ ├── GeneralizeTemplate.scala │ │ └── PassiveReflections.scala │ └── test/ │ ├── resources/ │ │ └── logback-test.xml │ └── scala/ │ └── edu/ │ └── knowitall/ │ ├── common/ │ │ └── enrich/ │ │ └── TraversableSpecTest.scala │ ├── ollie/ │ │ ├── DependencyGraphExtrasSpec.scala │ │ └── confidence/ │ │ └── OllieFeatureSetSpec.scala │ └── openparse/ │ ├── BuildPatternsSpec.scala │ ├── ExtractorPatternSpec.scala │ ├── OllieSpec.scala │ ├── OpenParseSpec.scala │ └── PatternExtractorSpec.scala ├── data/ │ └── training.tsv ├── example/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── example/ │ │ └── JavaOllieWrapper.java │ ├── resouces/ │ │ └── logback.xml │ └── scala/ │ └── ollie/ │ └── Example.scala └── pom.xml
SYMBOL INDEX (4 symbols across 1 files)
FILE: example/src/main/java/example/JavaOllieWrapper.java
class JavaOllieWrapper (line 13) | public class JavaOllieWrapper {
method JavaOllieWrapper (line 23) | public JavaOllieWrapper() throws MalformedURLException {
method extract (line 37) | public Iterable<OllieExtractionInstance> extract(String sentence) {
method main (line 46) | public static void main(String args[]) throws MalformedURLException {
Condensed preview — 85 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,467K chars).
[
{
"path": ".dockerignore",
"chars": 41,
"preview": "Dockerfile\n.dockerignore\n.gitignore\n.git\n"
},
{
"path": ".gitignore",
"chars": 63,
"preview": "target\n.cache\n.classpath\n.project\n.settings\nengmalt.linear.mco\n"
},
{
"path": ".travis.yml",
"chars": 68,
"preview": "language: scala\nscala:\n - \"2.9.2\"\njdk:\n - oraclejdk7\n - openjdk7\n"
},
{
"path": "Dockerfile",
"chars": 253,
"preview": "FROM maven:3.5.2-jdk-7\n\nWORKDIR /stage\n\nCOPY ./ /stage/\nRUN curl http://www.maltparser.org/mco/english_parser/engmalt.li"
},
{
"path": "LICENSE",
"chars": 4429,
"preview": "Ollie Software License Agreement\n \nOllie Software\n(C) 2011-2012, University of Washington. All rights reserved.\nUS pate"
},
{
"path": "README.md",
"chars": 9960,
"preview": "# Ollie\n\nOllie is a program that automatically identifies and extracts binary\nrelationships from English sentences. Oll"
},
{
"path": "app/pom.xml",
"chars": 3853,
"preview": "<?xml version=\"1.0\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-ins"
},
{
"path": "app/src/main/resources/logback.xml",
"chars": 432,
"preview": "<?xml version=\"1.0\"?>\n<configuration>\n <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n <!-- en"
},
{
"path": "app/src/main/scala/edu/knowitall/ollie/OllieCli.scala",
"chars": 13201,
"preview": "package edu.knowitall.ollie;\n\nimport java.io.File\nimport java.io.PrintWriter\nimport java.io.OutputStreamWriter\nimport ja"
},
{
"path": "app/src/main/scala/edu/knowitall/ollie/SentenceIterator.scala",
"chars": 850,
"preview": "package edu.knowitall.ollie\n\nimport edu.knowitall.tool.segment.Segmenter\n\nclass SentenceIterator(sentencer: Segmenter, p"
},
{
"path": "app/src/main/scala/edu/knowitall/openparse/OpenParseCli.scala",
"chars": 3304,
"preview": "package edu.knowitall.openparse\n\nimport java.io.{PrintWriter, File}\nimport java.net.URL\n\nimport scala.collection.Set\nimp"
},
{
"path": "app/src/main/scala/edu/knowitall/openparse/OpenParseGui.scala",
"chars": 20217,
"preview": "package edu.knowitall.openparse\n\nimport java.awt.Cursor\nimport java.awt.Dimension\nimport java.io.File\nimport java.net.UR"
},
{
"path": "app/src/main/scala/edu/knowitall/openparse/gui/Dot.scala",
"chars": 5104,
"preview": "package edu.knowitall.openparse.gui\n\nimport edu.knowitall.openparse.extract.TemplateExtractor\nimport edu.knowitall.commo"
},
{
"path": "app/src/main/scala/edu/knowitall/openparse/gui/ExtractionEntry.scala",
"chars": 1388,
"preview": "package edu.knowitall.openparse.gui\n\nimport edu.knowitall.collection.immutable.graph.pattern.Match\nimport edu.knowitall."
},
{
"path": "app/src/main/scala/edu/knowitall/openparse/gui/Parser.scala",
"chars": 1115,
"preview": "package edu.knowitall.openparse.gui\n\nimport edu.knowitall.tool.parse.DependencyParser\nimport edu.knowitall.tool.parse.Ma"
},
{
"path": "app/src/main/scala/edu/knowitall/openparse/gui/Sentence.scala",
"chars": 826,
"preview": "package edu.knowitall.openparse.gui\n\nimport scala.util.control.Exception.catching\n\nimport edu.knowitall.tool.parse.graph"
},
{
"path": "app/src/test/resources/logback-test.xml",
"chars": 432,
"preview": "<?xml version=\"1.0\"?>\n<configuration>\n <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n <!-- en"
},
{
"path": "core/build.sbt",
"chars": 1902,
"preview": "organization := \"edu.washington.cs.knowitall.ollie\"\n\nname := \"ollie-core\"\n\ndescription := \"Wrapper and implementation fo"
},
{
"path": "core/here.txt",
"chars": 1472272,
"preview": "score\tconf\top-conf\tyield\tprecision\textr\tenabler\tattrib\tsentence\tdependencies\tArg1 Cleanup feature\tArg1 comes after arg2\t"
},
{
"path": "core/pom.xml",
"chars": 4095,
"preview": "<?xml version=\"1.0\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-ins"
},
{
"path": "core/project/plugins.sbt",
"chars": 214,
"preview": "resolvers += Resolver.url(\"sbt-plugin-releases\", new URL(\"http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-rele"
},
{
"path": "core/scripts/applypatterns.sh",
"chars": 188,
"preview": "# 1 -- patterns\n# 2 -- sentences\nmvn -q -e -f ../pom.xml compile exec:java -Dexec.mainClass=edu.washington.cs.knowitall."
},
{
"path": "core/scripts/build_templates.sh",
"chars": 238,
"preview": "mkdir \"$1/templates/\"\nmvn exec:java -Dexec.mainClass=edu.washington.cs.knowitall.pattern.BuildTemplates -Dexec.args=\"$1/"
},
{
"path": "core/scripts/create_patterns.sh",
"chars": 190,
"preview": "mvn -q -e exec:java -Dexec.mainClass=edu.washington.cs.knowitall.pattern.BuildTreePatterns -Dexec.args=\"$1/raw/parsed.tx"
},
{
"path": "core/scripts/create_test_train.sh",
"chars": 222,
"preview": "# 1 -- lda directory\nROWS=\"$1/raw/patterned.txt\"\nTEST=\"$1/raw/test.txt\"\nTRAIN=\"$1/raw/train.txt\"\nmvn -q -e exec:java -De"
},
{
"path": "core/scripts/extractor.sh",
"chars": 110,
"preview": "echo \"$*\"\nmvn -q -e exec:java -Dexec.mainClass=edu.washington.cs.knowitall.pattern.OpenParse -Dexec.args=\"$*\"\n"
},
{
"path": "core/scripts/keep_common_patterns.sh",
"chars": 267,
"preview": "# 1 -- lda directory\ncut -f5 \"$1/raw/patterned-all.txt\" | sort | uniq -c | sort -nr > \"$1/raw/patterns.txt\"\nmvn -q -e ex"
},
{
"path": "core/src/main/resources/edu/knowitall/ollie/cognitiveWords.txt",
"chars": 675,
"preview": "accept\r\nadmit\r\naffirm\r\naim\r\nallow\r\napprehend\r\nassert\r\nattest\r\naver\r\navouch\r\navow\r\nbelieve\r\nclaim\r\ncomprehend\r\nconfirm\r\nc"
},
{
"path": "core/src/main/resources/edu/knowitall/ollie/communicationWords.txt",
"chars": 818,
"preview": "acknowledge\r\nacquaint\r\nadd\r\nadvise\r\naffirm\r\nallege\r\nannounce\r\napprise\r\narticulate\r\nbelieve\r\nblab\r\nblurt\r\nclaim\r\ncomment\r"
},
{
"path": "core/src/main/resources/edu/knowitall/ollie/confidence/default-classifier.txt",
"chars": 1523,
"preview": "args start and end with noun\t0.030924657084179144\nrel ends with of\t0.1013506657501542\narg1 contains pronoun\t0.1963080134"
},
{
"path": "core/src/main/resources/edu/knowitall/ollie/prefixWords.txt",
"chars": 116,
"preview": "after\r\nalthough\r\nbecause\r\nbefore\r\nbut\r\nhowever\r\nif\r\nonce\r\nthat\r\nthough\r\nwhen\r\nwhenever\r\nwhether\r\nwhere\r\nwhile\r\nwould"
},
{
"path": "core/src/main/resources/edu/knowitall/openparse/categories/location.txt",
"chars": 7877,
"preview": "abbacy\nabode\nabutment\nabysm\nabyss\nacme\naddition\naddress\naerie\naerospace\naery\naim\nair\nairhead\nairspace\nairway\nambiance\nam"
},
{
"path": "core/src/main/resources/edu/knowitall/openparse/categories/person.txt",
"chars": 56994,
"preview": "abator\nabbe\nabbess\nabbot\nabbreviator\nabdicator\nabductor\nabecedarian\naberrant\nabetter\nabettor\nabhorrer\nabiogenist\nabjurer"
},
{
"path": "core/src/main/resources/edu/knowitall/openparse/openparse.model",
"chars": 2197361,
"preview": "template\nbe {rel} {prep}\t{arg1} <nsubjpass< {rel:postag=VBN} >{prep:regex=prep_(.*)}> {arg2}\t1.0000\nbe {rel} {prep}\t{arg"
},
{
"path": "core/src/main/scala/edu/knowitall/common/enrich/Traversable.scala",
"chars": 2303,
"preview": "package edu.knowitall\npackage common\npackage enrich\n\nimport edu.knowitall.collection.immutable.Bag\n\nimport scalaz._\nimpo"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/DependencyGraphExtras.scala",
"chars": 6716,
"preview": "package edu.knowitall.ollie\n\nimport edu.knowitall.tool.parse.graph.DependencyGraph\nimport edu.knowitall.tool.parse.graph"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/NaryExtraction.scala",
"chars": 5186,
"preview": "package edu.knowitall.ollie\n\nimport scala.Option.option2Iterable\nimport scala.collection.SortedSet\nimport scala.collecti"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/Ollie.scala",
"chars": 3574,
"preview": "package edu.knowitall.ollie\n\nimport scala.io.Source\nimport edu.knowitall.collection.immutable.Interval\nimport edu.knowit"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/OllieExtraction.scala",
"chars": 7010,
"preview": "package edu.knowitall.ollie\n\nimport scala.Option.option2Iterable\nimport scala.collection.breakOut\n\nimport edu.knowitall."
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/OllieExtractionInstance.scala",
"chars": 2764,
"preview": "package edu.knowitall.ollie\n\nimport edu.knowitall.common.HashCodeHelper\nimport edu.knowitall.openparse.extract.PatternEx"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/ScoredOllieExtractionInstance.scala",
"chars": 1270,
"preview": "package edu.knowitall.ollie\n\nimport edu.knowitall.tool.conf.Labelled\n\n/** OllieExtractionInstance represents a boolean s"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/confidence/OllieConfidenceFunction.scala",
"chars": 1141,
"preview": "package edu.knowitall.ollie.confidence\n\nimport java.io.InputStream\nimport java.net.URL\nimport java.util.Scanner\n\nimport "
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/confidence/OllieFeatureEvaluation.scala",
"chars": 3381,
"preview": "package edu.knowitall.ollie.confidence\n\nimport java.io.File\nimport java.io.PrintWriter\nimport java.net.URL\n\nimport scala"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/confidence/OllieFeatureSet.scala",
"chars": 15228,
"preview": "package edu.knowitall.ollie.confidence\n\nimport java.util.regex.Pattern\n\nimport scala.Array.canBuildFrom\nimport scala.ann"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/confidence/train/CrossValidateConfidence.scala",
"chars": 2360,
"preview": "package edu.knowitall.ollie.confidence.train\n\nimport java.io.File\n\nimport scala.io.Source\n\nimport edu.knowitall.common.A"
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/confidence/train/TrainOllieConfidence.scala",
"chars": 1408,
"preview": "\npackage edu.knowitall.ollie.confidence.train\n\nimport java.io.File\n\nimport scala.io.Source\n\nimport edu.knowitall.common."
},
{
"path": "core/src/main/scala/edu/knowitall/ollie/output/BratOutput.scala",
"chars": 2362,
"preview": "package edu.knowitall.ollie.output\n\nimport edu.knowitall.ollie.OllieExtractionInstance\nimport edu.knowitall.openparse.ex"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/AnalyzePatterns.scala",
"chars": 4871,
"preview": "package edu.knowitall.openparse\n\nimport java.io.{PrintWriter, File}\n\nimport scala.Option.option2Iterable\nimport scala.co"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/BuildPatterns.scala",
"chars": 14703,
"preview": "package edu.knowitall.openparse\n\nimport java.io.{PrintWriter, File}\n\nimport scala.collection.immutable\nimport scala.io.S"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/ExtractorPattern.scala",
"chars": 8285,
"preview": "package edu.knowitall.openparse\n\nimport scala.io.Source\n\nimport org.slf4j.LoggerFactory\n\nimport edu.knowitall.collection"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/GraphExpansions.scala",
"chars": 5297,
"preview": "package edu.knowitall.openparse\n\nimport scala.collection.Set\nimport scala.collection.SortedSet\n\nimport edu.knowitall.col"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/OpenParse.scala",
"chars": 14050,
"preview": "package edu.knowitall.openparse\n\nimport java.io.{PrintWriter, File}\nimport java.net.URL\nimport scala.collection.Set\nimpo"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/bootstrap/FilterTargetExtractions.scala",
"chars": 1888,
"preview": "package edu.knowitall.openparse.bootstrap\n\nimport scala.io.Source\n\nimport org.slf4j.LoggerFactory\n\n/** Filter the target"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/bootstrap/FindCommon.scala",
"chars": 1404,
"preview": "package edu.knowitall.openparse.bootstrap\n\nimport scala.util.matching.Regex\n\n/** Common functionality for bootstrap code"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/bootstrap/FindTargetArguments.scala",
"chars": 2190,
"preview": "package edu.knowitall.openparse.bootstrap\n\nimport scala.Array.canBuildFrom\nimport scala.collection.mutable\nimport scala."
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/bootstrap/FindTargetExtractions.scala",
"chars": 6129,
"preview": "package edu.knowitall.openparse.bootstrap\n\nimport scala.Array.canBuildFrom\nimport scala.Option.option2Iterable\nimport sc"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/eval/GroupScoredBy.scala",
"chars": 1353,
"preview": "package edu.knowitall.openparse.eval\n\nimport java.io.File\n\nimport edu.knowitall.common.Analysis\n\nimport scopt.OptionPars"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/eval/PrecisionYield.scala",
"chars": 2986,
"preview": "package edu.knowitall.openparse.eval\n\nimport java.io.{PrintWriter, File}\n\nimport edu.knowitall.common.Resource.using\nimp"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/eval/RankPatterns.scala",
"chars": 1655,
"preview": "package edu.knowitall.openparse.eval\n\nimport java.io.{PrintWriter, File}\n\nimport edu.knowitall.common.Resource.using\n\nim"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/eval/Score.scala",
"chars": 6116,
"preview": "package edu.knowitall.openparse.eval\n\nimport java.io.{PrintWriter, File}\n\nimport scala.io.Source\n\nimport edu.knowitall.c"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/eval/StatisticalSignificance.scala",
"chars": 4522,
"preview": "package edu.knowitall.openparse.eval\n\nimport java.io.File\n\nimport edu.knowitall.common.{Random, Analysis}\n\nimport scopt."
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/extract/Extraction.scala",
"chars": 13156,
"preview": "package edu.knowitall.openparse.extract\n\nimport scala.collection.{SortedSet, Set}\nimport edu.knowitall.collection.immuta"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/extract/GeneralExtractor.scala",
"chars": 3206,
"preview": "package edu.knowitall.openparse.extract\n\nimport org.slf4j.LoggerFactory\nimport edu.knowitall.collection.immutable.graph."
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/extract/PatternExtractor.scala",
"chars": 2205,
"preview": "package edu.knowitall.openparse.extract\n\nimport java.io.File\nimport scala.io.Source\nimport edu.knowitall.collection.immu"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/extract/SpecificExtractor.scala",
"chars": 1728,
"preview": "package edu.knowitall.openparse.extract\n\nimport scala.Array.canBuildFrom\nimport edu.knowitall.collection.immutable.graph"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/extract/TemplateExtractor.scala",
"chars": 6062,
"preview": "package edu.knowitall.openparse.extract\n\nimport scala.util.matching.Regex\nimport org.slf4j.LoggerFactory\nimport edu.know"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/template/BuildTemplates.scala",
"chars": 18094,
"preview": "package edu.knowitall.openparse.template\n\nimport java.io.{PrintWriter, File}\n\nimport scala.Option.option2Iterable\nimport"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/template/CountsToConfidence.scala",
"chars": 1593,
"preview": "package edu.knowitall.openparse.template\n\nimport scopt.mutable.OptionParser\nimport java.io.File\nimport edu.knowitall.com"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/template/GeneralizeTemplate.scala",
"chars": 4705,
"preview": "package edu.knowitall.openparse.template\n\nimport java.io.{PrintWriter, File}\n\nimport scala.collection.immutable\nimport s"
},
{
"path": "core/src/main/scala/edu/knowitall/openparse/template/PassiveReflections.scala",
"chars": 3739,
"preview": "package edu.knowitall.openparse.template\n\nimport java.io.{PrintWriter, File}\nimport scala.Option.option2Iterable\nimport "
},
{
"path": "core/src/test/resources/logback-test.xml",
"chars": 432,
"preview": "<?xml version=\"1.0\"?>\n<configuration>\n <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n <!-- en"
},
{
"path": "core/src/test/scala/edu/knowitall/common/enrich/TraversableSpecTest.scala",
"chars": 2050,
"preview": "package edu.knowitall.common.enrich\n\nimport edu.knowitall.collection.immutable.Bag\n\nimport org.junit.runner.RunWith\nimpo"
},
{
"path": "core/src/test/scala/edu/knowitall/ollie/DependencyGraphExtrasSpec.scala",
"chars": 1441,
"preview": "package edu.knowitall.ollie\n\nimport org.junit.runner.RunWith\nimport org.specs2.mutable.Specification\nimport org.specs2.r"
},
{
"path": "core/src/test/scala/edu/knowitall/ollie/confidence/OllieFeatureSetSpec.scala",
"chars": 1925,
"preview": "package edu.knowitall.ollie.confidence\n\nimport org.junit._\nimport org.junit.Assert._\nimport org.specs2.mutable.Specifica"
},
{
"path": "core/src/test/scala/edu/knowitall/openparse/BuildPatternsSpec.scala",
"chars": 7622,
"preview": "package edu.knowitall.openparse\n\nimport org.junit._\nimport org.junit.Assert._\nimport org.specs2.mutable.Specification\nim"
},
{
"path": "core/src/test/scala/edu/knowitall/openparse/ExtractorPatternSpec.scala",
"chars": 909,
"preview": "package edu.knowitall.openparse\n\nimport org.junit._\nimport org.junit.Assert._\nimport org.specs2.mutable.Specification\nim"
},
{
"path": "core/src/test/scala/edu/knowitall/openparse/OllieSpec.scala",
"chars": 1592,
"preview": "package edu.knowitall.openparse\n\nimport org.junit._\nimport org.junit.Assert._\nimport org.specs2.mutable.Specification\nim"
},
{
"path": "core/src/test/scala/edu/knowitall/openparse/OpenParseSpec.scala",
"chars": 839,
"preview": "package edu.knowitall.openparse\n\nimport org.junit._\nimport org.junit.Assert._\nimport org.specs2.mutable.Specification\nim"
},
{
"path": "core/src/test/scala/edu/knowitall/openparse/PatternExtractorSpec.scala",
"chars": 15810,
"preview": "package edu.knowitall.openparse\n\nimport org.junit._\nimport org.junit.Assert._\nimport org.specs2.mutable.Specification\nim"
},
{
"path": "data/training.tsv",
"chars": 2359408,
"preview": "0\t\tnsubj(know_VB_4_11, I_PRP_1_2); aux(know_VB_4_11, do_VBP_2_4); neg(know_VB_4_11, n't_RB_3_7); ccomp(know_VB_4_11, mea"
},
{
"path": "example/pom.xml",
"chars": 2265,
"preview": "<?xml version=\"1.0\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-ins"
},
{
"path": "example/src/main/java/example/JavaOllieWrapper.java",
"chars": 2458,
"preview": "package example;\n\nimport java.io.File;\nimport java.net.MalformedURLException;\n\nimport edu.knowitall.ollie.Ollie;\nimport "
},
{
"path": "example/src/main/resouces/logback.xml",
"chars": 316,
"preview": "<?xml version=\"1.0\"?>\n<configuration>\n <appender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n <encode"
},
{
"path": "example/src/main/scala/ollie/Example.scala",
"chars": 1289,
"preview": "package ollie\n\nimport edu.knowitall.ollie.Ollie\nimport edu.knowitall.tool.parse.MaltParser\nimport scala.io.Source\nimport"
},
{
"path": "pom.xml",
"chars": 627,
"preview": "<?xml version=\"1.0\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-ins"
}
]
About this extraction
This page contains the full source code of the knowitall/ollie GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 85 files (6.1 MB), approximately 1.6M tokens, and a symbol index with 4 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.