Ver código fonte

Update the DRAGNN (#1191)

* Release DRAGNN

* Update CoNLL evaluation table & evaluator.py

* Update documentation & tutorial for DRAGNN

* Update the DRAGNN

* Tutorial link
Ivan Bogatyy 8 anos atrás
pai
commit
e8464d33d3
71 arquivos alterados com 86576 adições e 4359 exclusões
  1. 3 2
      syntaxnet/Dockerfile
  2. 18 8
      syntaxnet/README.md
  3. BIN
      syntaxnet/beam_search_training.png
  4. 66 0
      syntaxnet/docker-devel/Dockerfile.min
  5. 64 0
      syntaxnet/docker-devel/README.txt
  6. 1 0
      syntaxnet/docker-devel/build_devel.sh
  7. 4 10
      syntaxnet/dragnn/protos/spec.proto
  8. 1 0
      syntaxnet/dragnn/python/BUILD
  9. 29 6
      syntaxnet/dragnn/python/visualization.py
  10. 16 1
      syntaxnet/dragnn/python/visualization_test.py
  11. 19 0
      syntaxnet/dragnn/viz/dragnn_layout.js
  12. 1545 0
      syntaxnet/dragnn/viz/dragnn_tutorial_2.html
  13. 2261 0
      syntaxnet/dragnn/viz/example_with_lookahead.html
  14. 13 7
      syntaxnet/dragnn/viz/visualize.js
  15. BIN
      syntaxnet/dragnn/viz/viz.min.js.gz
  16. 51 0
      syntaxnet/examples/dragnn/BUILD
  17. 1 0
      syntaxnet/examples/dragnn/data/en/category-map
  18. 100 0
      syntaxnet/examples/dragnn/data/en/char-map
  19. 11989 0
      syntaxnet/examples/dragnn/data/en/char-ngram-map
  20. BIN
      syntaxnet/examples/dragnn/data/es/checkpoint
  21. 50 0
      syntaxnet/examples/dragnn/data/en/label-map
  22. 15388 0
      syntaxnet/examples/dragnn/data/en/lcword-map
  23. 0 0
      syntaxnet/examples/dragnn/data/en/parser_spec.textproto
  24. BIN
      syntaxnet/examples/dragnn/data/en/prefix-table
  25. 18 0
      syntaxnet/examples/dragnn/data/en/segmenter/category-map
  26. 100 0
      syntaxnet/examples/dragnn/data/en/segmenter/char-map
  27. 2017 0
      syntaxnet/examples/dragnn/data/en/segmenter/char-ngram-map
  28. BIN
      syntaxnet/examples/dragnn/data/en/segmenter/checkpoint.data-00000-of-00001
  29. BIN
      syntaxnet/examples/dragnn/data/en/segmenter/checkpoint.index
  30. BIN
      syntaxnet/examples/dragnn/data/es/segmenter/checkpoint.meta
  31. 50 0
      syntaxnet/examples/dragnn/data/en/segmenter/label-map
  32. 15388 0
      syntaxnet/examples/dragnn/data/en/segmenter/lcword-map
  33. BIN
      syntaxnet/examples/dragnn/data/en/segmenter/prefix-table
  34. 0 0
      syntaxnet/examples/dragnn/data/en/segmenter/spec.textproto
  35. BIN
      syntaxnet/examples/dragnn/data/en/segmenter/suffix-table
  36. 51 0
      syntaxnet/examples/dragnn/data/en/segmenter/tag-map
  37. 50 0
      syntaxnet/examples/dragnn/data/en/segmenter/tag-to-category
  38. 18257 0
      syntaxnet/examples/dragnn/data/en/segmenter/word-map
  39. BIN
      syntaxnet/examples/dragnn/data/en/suffix-table
  40. 157 0
      syntaxnet/examples/dragnn/data/en/tag-map
  41. 156 0
      syntaxnet/examples/dragnn/data/en/tag-to-category
  42. 18257 0
      syntaxnet/examples/dragnn/data/en/word-map
  43. 0 292
      syntaxnet/examples/dragnn/data/es/char-map
  44. 0 0
      syntaxnet/examples/dragnn/data/es/es-universal-dev.conll
  45. 0 0
      syntaxnet/examples/dragnn/data/es/es-universal-train.conll
  46. 0 33
      syntaxnet/examples/dragnn/data/es/label-map
  47. 0 292
      syntaxnet/examples/dragnn/data/es/segmenter/char-map
  48. 0 2621
      syntaxnet/examples/dragnn/data/es/segmenter/char-ngram-map
  49. BIN
      syntaxnet/examples/dragnn/data/es/segmenter/checkpoint.data-00000-of-00001
  50. BIN
      syntaxnet/examples/dragnn/data/es/segmenter/checkpoint.index
  51. 0 33
      syntaxnet/examples/dragnn/data/es/segmenter/label-map
  52. 0 5
      syntaxnet/examples/dragnn/data/es/segmenter/tag-map
  53. 0 5
      syntaxnet/examples/dragnn/data/es/segmenter/tag-to-category
  54. 0 397
      syntaxnet/examples/dragnn/data/es/tag-map
  55. 0 396
      syntaxnet/examples/dragnn/data/es/tag-to-category
  56. BIN
      syntaxnet/examples/dragnn/data/mini-english.checkpoint
  57. BIN
      syntaxnet/examples/dragnn/data/mini-english.checkpoint.meta
  58. 28 26
      syntaxnet/examples/dragnn/interactive_text_analyzer.ipynb
  59. 27 0
      syntaxnet/examples/dragnn/test_run_all_tutorials.sh
  60. 53 45
      syntaxnet/examples/dragnn/basic_parser_tutorial.ipynb
  61. 77 0
      syntaxnet/examples/dragnn/tutorial_1.py
  62. 104 0
      syntaxnet/examples/dragnn/tutorial_2.py
  63. 90 0
      syntaxnet/examples/dragnn/tutorial_data/sentence.prototext
  64. BIN
      syntaxnet/ff_nn_schematic.png
  65. 1 2
      syntaxnet/g3doc/CLOUD.md
  66. 74 72
      syntaxnet/g3doc/conll2017/README.md
  67. 2 2
      syntaxnet/g3doc/conll2017/cooking.md
  68. BIN
      syntaxnet/looping-parser.gif
  69. BIN
      syntaxnet/sawman.png
  70. 0 0
      syntaxnet/syntaxnet/demo.sh
  71. 0 104
      syntaxnet/universal.md

+ 3 - 2
syntaxnet/Dockerfile

@@ -1,5 +1,5 @@
 # Java baseimage, for Bazel.
-FROM java:8
+FROM openjdk:8
 
 ENV SYNTAXNETDIR=/opt/tensorflow PATH=$PATH:/root/bin
 
@@ -50,6 +50,8 @@ RUN python -m pip install \
     && python -m pip install pygraphviz \
           --install-option="--include-path=/usr/include/graphviz" \
           --install-option="--library-path=/usr/lib/graphviz/" \
+    && python -m jupyter_core.command nbextension enable \
+          --py --sys-prefix widgetsnbextension \
     && rm -rf /root/.cache/pip /tmp/pip*
 
 # Installs the latest version of Bazel.
@@ -86,6 +88,5 @@ EXPOSE 8888
 # This does not need to be compiled, only copied.
 COPY examples $SYNTAXNETDIR/syntaxnet/examples
 # Todo: Move this earlier in the file (don't want to invalidate caches for now).
-RUN jupyter nbextension enable --py --sys-prefix widgetsnbextension
 
 CMD /bin/bash -c "bazel-bin/dragnn/tools/oss_notebook_launcher notebook --debug --notebook-dir=/opt/tensorflow/syntaxnet/examples"

+ 18 - 8
syntaxnet/README.md

@@ -20,12 +20,16 @@ This repository is largely divided into two sub-packages:
 
 1.  **DRAGNN:
     [code](https://github.com/tensorflow/models/tree/master/syntaxnet/dragnn),
-    [documentation](g3doc/DRAGNN.md)** implements Dynamic Recurrent Acyclic
-    Graphical Neural Networks (DRAGNN), a framework for building multi-task,
-    fully dynamic constructed computation graphs. Practically, we use DRAGNN to
-    extend our prior work from [Andor et al.
+    [documentation](g3doc/DRAGNN.md),
+    [paper](https://arxiv.org/pdf/1703.04474.pdf)** implements Dynamic Recurrent
+    Acyclic Graphical Neural Networks (DRAGNN), a framework for building
+    multi-task, fully dynamically constructed computation graphs. Practically, we
+    use DRAGNN to extend our prior work from [Andor et al.
     (2016)](http://arxiv.org/abs/1603.06042) with end-to-end, deep recurrent
-    models and to provide a much easier to use interface to SyntaxNet.
+    models and to provide a much easier to use interface to SyntaxNet. *DRAGNN
+    is designed first and foremost as a Python library, and therefore much
+    easier to use than the original SyntaxNet implementation.*
+
 1.  **SyntaxNet:
     [code](https://github.com/tensorflow/models/tree/master/syntaxnet/syntaxnet),
     [documentation](g3doc/syntaxnet-tutorial.md)** is a transition-based
@@ -42,7 +46,7 @@ There are three ways to use SyntaxNet:
     SyntaxNet/DRAGNN baseline for the CoNLL2017 Shared Task, and running the
     ParseySaurus models.
 *   You can use DRAGNN to train your NLP models for other tasks and dataset. See
-    "Getting started with DRAGNN below."
+    "Getting started with DRAGNN" below.
 *   You can continue to use the Parsey McParseface family of pre-trained
     SyntaxNet models. See "Pre-trained NLP models" below.
 
@@ -117,9 +121,13 @@ We have a few guides on this README, as well as more extensive
 
 ![DRAGNN](g3doc/unrolled-dragnn.png)
 
-An easy and visual way to get started with DRAGNN is to run [our Jupyter
-Notebook](examples/dragnn/basic_parser_tutorial.ipynb). Our tutorial
+An easy and visual way to get started with DRAGNN is to run our Jupyter
+notebooks for [interactive
+debugging](examples/dragnn/interactive_text_analyzer.ipynb) and [training a new
+model](examples/dragnn/trainer_tutorial.ipynb). Our tutorial
 [here](g3doc/CLOUD.md) explains how to start it up from the Docker container.
+Once you have DRAGNN installed and running, try out the
+[ParseySaurus](g3doc/conll2017) models.
 
 ### Using the Pre-trained NLP models
 
@@ -285,6 +293,7 @@ Original authors of the code in this package include (in alphabetical order):
 *   Aliaksei Severyn
 *   Andy Golding
 *   Bernd Bohnet
+*   Chayut Thanapirom
 *   Chris Alberti
 *   Daniel Andor
 *   David Weiss
@@ -294,6 +303,7 @@ Original authors of the code in this package include (in alphabetical order):
 *   Ji Ma
 *   Keith Hall
 *   Kuzman Ganchev
+*   Lingpeng Kong
 *   Livio Baldini Soares
 *   Mark Omernick
 *   Michael Collins

BIN
syntaxnet/beam_search_training.png


+ 66 - 0
syntaxnet/docker-devel/Dockerfile.min

@@ -0,0 +1,66 @@
+# You need to build wheels before building this image. Please consult
+# docker-devel/README.txt.
+
+# This is the base of the openjdk image.
+#
+# It might be more efficient to use a minimal distribution, like Alpine. But
+# the upside of this being popular is that people might already have it.
+FROM buildpack-deps:jessie-curl
+
+ENV SYNTAXNETDIR=/opt/tensorflow PATH=$PATH:/root/bin
+
+RUN apt-get update \
+    && apt-get install -y \
+          file \
+          git \
+          graphviz \
+          libcurl3 \
+          libfreetype6 \
+          libgraphviz-dev \
+          liblapack3 \
+          libopenblas-base \
+          libpng12-0 \
+          libxft2 \
+          python-dev \
+          python-mock \
+          python-pip \
+          python2.7 \
+          zlib1g-dev \
+    && apt-get clean \
+    && (rm -f /var/cache/apt/archives/*.deb \
+        /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true)
+
+# Install common Python dependencies. Similar to above, remove caches
+# afterwards to help keep Docker images smaller.
+RUN pip install --ignore-installed pip \
+    && python -m pip install numpy \
+    && rm -rf /root/.cache/pip /tmp/pip*
+RUN python -m pip install \
+          asciitree \
+          ipykernel \
+          jupyter \
+          matplotlib \
+          pandas \
+          protobuf \
+          scipy \
+          sklearn \
+    && python -m ipykernel.kernelspec \
+    && python -m pip install pygraphviz \
+          --install-option="--include-path=/usr/include/graphviz" \
+          --install-option="--library-path=/usr/lib/graphviz/" \
+    && rm -rf /root/.cache/pip /tmp/pip*
+
+COPY syntaxnet_with_tensorflow-0.2-cp27-none-linux_x86_64.whl $SYNTAXNETDIR/
+RUN python -m pip install \
+        $SYNTAXNETDIR/syntaxnet_with_tensorflow-0.2-cp27-none-linux_x86_64.whl \
+    && rm -rf /root/.cache/pip /tmp/pip*
+
+# This makes the IP exposed actually "*"; we'll do host restrictions by passing
+# a hostname to the `docker run` command.
+COPY tensorflow/tensorflow/tools/docker/jupyter_notebook_config.py /root/.jupyter/
+EXPOSE 8888
+
+# This does not need to be compiled, only copied.
+COPY examples $SYNTAXNETDIR/syntaxnet/examples
+# For some reason, this works if we run it in a bash shell :/ :/ :/
+CMD /bin/bash -c "python -m jupyter_core.command notebook --debug --notebook-dir=/opt/tensorflow/syntaxnet/examples"

+ 64 - 0
syntaxnet/docker-devel/README.txt

@@ -0,0 +1,64 @@
+Docker is used for packaging the SyntaxNet. There are three primary things we
+build with Docker,
+
+1. A development image, which contains all source built with Bazel.
+2. Python/pip wheels, built by running a command in the development container.
+3. A minified image, which only has the compiled version of TensorFlow and
+   SyntaxNet, by installing the wheel built by the above step.
+
+
+Important info (please read)
+------------------------------
+
+One thing to be wary of is that YOU CAN LOSE DATA IF YOU DEVELOP IN A DOCKER
+CONTAINER. Please be very careful to mount data you care about to Docker
+volumes, or use a volume mount so that it's mapped to your host filesystem.
+
+Another note, especially relevant to training models, is that Docker sends the
+whole source tree to the Docker daemon every time you try to build an image.
+This can take some time if you have large temporary model files lying around.
+You can exclude your model files by editing .dockerignore, or just don't store
+them in the base directory.
+
+
+Step 1: Building the development image
+------------------------------
+
+Simply run `docker build -t dragnn-oss .` in the base directory. Make sure you
+have all the source checked out correctly, including git submodules.
+
+
+Step 2: Building wheels
+------------------------------
+
+Please run,
+
+  bash ./docker-devel/build_wheels.sh
+
+This actually builds the image from Step 1 as well.
+
+
+Step 3: Building the development image
+------------------------------
+
+First, ensure you have the file
+
+  syntaxnet_with_tensorflow-0.2-cp27-none-linux_x86_64.whl
+
+in your working directory, from step 2. Then run,
+
+  docker build -t dragnn-oss:latest-minimal -f docker-devel/Dockerfile.min
+
+If the filename changes (e.g. you are on a different architecture), just update
+Dockerfile.min.
+
+
+Developing in Docker
+------------------------------
+
+We recommend developing in Docker by using the `./docker-devel/build_devel.sh`
+script; it will set up a few volume mounts, and port mappings automatically.
+You may want to add more port mappings on your own. If you want to drop into a
+shell instead of launching the notebook, simply run,
+
+  ./docker-devel/build_devel.sh /bin/bash

+ 1 - 0
syntaxnet/docker-devel/build_devel.sh

@@ -23,5 +23,6 @@ syntaxnet_base="/opt/tensorflow/syntaxnet"
 docker run --rm -ti \
   -v "${root_path}"/syntaxnet:"${syntaxnet_base}"/syntaxnet \
   -v "${root_path}"/dragnn:"${syntaxnet_base}"/dragnn \
+  -v "${root_path}"/examples:"${syntaxnet_base}"/examples \
   -p 127.0.0.1:8888:8888 \
   dragnn-oss "$@"

+ 4 - 10
syntaxnet/dragnn/protos/spec.proto

@@ -13,14 +13,10 @@ package syntaxnet.dragnn;
 message MasterSpec {
   repeated ComponentSpec component = 1;
 
-  // DEPRECATED: Use the "batch_size" param of DragnnTensorFlowTrainer instead.
-  optional int32 deprecated_batch_size = 2 [default = 1, deprecated = true];
-
-  // DEPRECATED: Use ComponentSpec.*_beam_size instead.
-  optional int32 deprecated_beam_size = 3 [default = 1, deprecated = true];
-
   // Whether to extract debug traces.
   optional bool debug_tracing = 4 [default = false];
+
+  reserved 2, 3, 5;
 }
 
 // Complete specification for a single task.
@@ -221,10 +217,6 @@ message GridPoint {
   // problems for updates at the start of training.
   optional double gradient_clip_norm = 11 [default = 0.0];
 
-  // DEPRECATED: Use TrainTarget instead.
-  repeated double component_weights = 5;
-  repeated bool unroll_using_oracle = 6;
-
   // A spec for using multiple optimization methods.
   message CompositeOptimizerSpec {
     // First optimizer.
@@ -254,6 +246,8 @@ message GridPoint {
   // should be restricted. If left empty, no filtering will take
   // place. Typically a single component.
   optional string self_norm_components_filter = 21;
+
+  reserved 5, 6;
 }
 
 // Training target to be built into the graph.

+ 1 - 0
syntaxnet/dragnn/python/BUILD

@@ -154,6 +154,7 @@ py_test(
     srcs = ["visualization_test.py"],
     deps = [
         ":visualization",
+        "//dragnn/protos:spec_py_pb2",
         "//dragnn/protos:trace_py_pb2",
         "@org_tensorflow//tensorflow:tensorflow_py",
     ],

+ 29 - 6
syntaxnet/dragnn/python/visualization.py

@@ -54,6 +54,15 @@ def parse_trace_json(trace):
   return as_json
 
 
+def _optional_master_spec_json(master_spec):
+  """Helper function to return 'null' or a master spec JSON string."""
+  if master_spec is None:
+    return 'null'
+  else:
+    return json_format.MessageToJson(
+        master_spec, preserving_proto_field_name=True)
+
+
 def _container_div(height='700px', contents=''):
   elt_id = str(uuid.uuid4())
   html = """
@@ -64,7 +73,11 @@ def _container_div(height='700px', contents=''):
   return elt_id, html
 
 
-def trace_html(trace, convert_to_unicode=True, height='700px', script=None):
+def trace_html(trace,
+               convert_to_unicode=True,
+               height='700px',
+               script=None,
+               master_spec=None):
   """Generates HTML that will render a master trace.
 
   This will result in a self-contained "div" element.
@@ -76,6 +89,8 @@ def trace_html(trace, convert_to_unicode=True, height='700px', script=None):
       often pass the output of this function to IPython.display.HTML.
     height: CSS string representing the height of the element, default '700px'.
     script: Visualization script contents, if the defaults are unacceptable.
+    master_spec: Master spec proto (parsed), which can improve the layout. May
+      be required in future versions.
 
   Returns:
     unicode or str with HTML contents.
@@ -89,10 +104,14 @@ def trace_html(trace, convert_to_unicode=True, height='700px', script=None):
   {div_html}
   <script type='text/javascript'>
   {script}
-  visualizeToDiv({json}, "{elt_id}");
+  visualizeToDiv({json}, "{elt_id}", {master_spec_json});
   </script>
   """.format(
-      script=script, json=json_trace, elt_id=elt_id, div_html=div_html)
+      script=script,
+      json=json_trace,
+      master_spec_json=_optional_master_spec_json(master_spec),
+      elt_id=elt_id,
+      div_html=div_html)
   return unicode(as_str, 'utf-8') if convert_to_unicode else as_str
 
 
@@ -174,11 +193,13 @@ class InteractiveVisualization(object):
         script=script, div_html=div_html)
     return unicode(html, 'utf-8')  # IPython expects unicode.
 
-  def show_trace(self, trace):
+  def show_trace(self, trace, master_spec=None):
     """Returns a JS script HTML fragment, which will populate the container.
 
     Args:
       trace: binary-encoded MasterTrace string.
+      master_spec: Master spec proto (parsed), which can improve the layout. May
+        be required in future versions.
 
     Returns:
       unicode with HTML contents.
@@ -187,8 +208,10 @@ class InteractiveVisualization(object):
     <meta charset="utf-8"/>
     <script type='text/javascript'>
     document.getElementById("{elt_id}").innerHTML = "";  // Clear previous.
-    visualizeToDiv({json}, "{elt_id}");
+    visualizeToDiv({json}, "{elt_id}", {master_spec_json});
     </script>
     """.format(
-        json=parse_trace_json(trace), elt_id=self.elt_id)
+        json=parse_trace_json(trace),
+        master_spec_json=_optional_master_spec_json(master_spec),
+        elt_id=self.elt_id)
     return unicode(html, 'utf-8')  # IPython expects unicode.

+ 16 - 1
syntaxnet/dragnn/python/visualization_test.py

@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 """Tests for dragnn.python.visualization."""
 
 from __future__ import absolute_import
@@ -5,6 +6,7 @@ from __future__ import division
 from __future__ import print_function
 
 from tensorflow.python.platform import googletest
+from dragnn.protos import spec_pb2
 from dragnn.protos import trace_pb2
 from dragnn.python import visualization
 
@@ -15,10 +17,16 @@ def _get_trace_proto_string():
       step_trace=[
           trace_pb2.ComponentStepTrace(fixed_feature_trace=[]),
       ],
-      name='test_component',)
+      # Google Translate says this is "component" in Chinese. (To test UTF-8).
+      name='零件',)
   return trace.SerializeToString()
 
 
+def _get_master_spec():
+  return spec_pb2.MasterSpec(
+      component=[spec_pb2.ComponentSpec(name='jalapeño')])
+
+
 class VisualizationTest(googletest.TestCase):
 
   def testCanFindScript(self):
@@ -37,6 +45,13 @@ class VisualizationTest(googletest.TestCase):
     widget.initial_html()
     widget.show_trace(_get_trace_proto_string())
 
+  def testMasterSpecJson(self):
+    visualization.trace_html(
+        _get_trace_proto_string(), master_spec=_get_master_spec())
+    widget = visualization.InteractiveVisualization()
+    widget.initial_html()
+    widget.show_trace(_get_trace_proto_string(), master_spec=_get_master_spec())
+
 
 if __name__ == '__main__':
   googletest.main()

+ 19 - 0
syntaxnet/dragnn/viz/dragnn_layout.js

@@ -189,6 +189,25 @@ DragnnLayout.prototype.finalLayout = function(partition, stepPartition, cy) {
         Math.sign(slope) * Math.min(300, Math.max(100, Math.abs(slope)));
   });
 
+  // Reset ordering of components based on whether they are actually
+  // left-to-right. In the future, we may want to do the whole layout based on
+  // the master spec (what remains is slope magnitude and component order); then
+  // we can also skip the initial layout and CoSE intermediate layout.
+  if (this.options.masterSpec) {
+    _.each(this.options.masterSpec.component, (component) => {
+      const name = component.name;
+      const transitionParams = component.transition_system.parameters || {};
+      // null/undefined should default to true.
+      const leftToRight = transitionParams.left_to_right != 'false';
+
+      // If the slope isn't going in the direction it should, according to the
+      // master spec, reverse it.
+      if ((leftToRight ? 1 : -1) != Math.sign(stepSlope[name])) {
+        stepSlope[name] = -stepSlope[name];
+      }
+    });
+  }
+
   // Set new node positions. As before, component nodes auto-size to fit.
   _.each(stepPartition, (stepNodes) => {
     const component = _.head(stepNodes).data('parent');

Diferenças do arquivo suprimidas por serem muito extensas
+ 1545 - 0
syntaxnet/dragnn/viz/dragnn_tutorial_2.html


Diferenças do arquivo suprimidas por serem muito extensas
+ 2261 - 0
syntaxnet/dragnn/viz/example_with_lookahead.html


+ 13 - 7
syntaxnet/dragnn/viz/visualize.js

@@ -154,10 +154,13 @@ class InteractiveDragnnGraph {
    *
    * @param {!Object} masterTrace Master trace proto from DRAGNN.
    * @param {!Object} element Container DOM element to populate.
+   * @param {?Object} masterSpec Master spec proto from DRAGNN; if provided,
+   *     used to improve the layout.
    */
-  constructor(masterTrace, element) {
+  constructor(masterTrace, element, masterSpec) {
     this.masterTrace = masterTrace;
     this.element = element;
+    this.masterSpec = masterSpec || null;
   }
 
   /**
@@ -196,7 +199,7 @@ class InteractiveDragnnGraph {
     sel.abscomp().nodes().hide();
 
     // Redo layout.
-    this.cy.layout({name: 'dragnn'});
+    this.cy.layout({name: 'dragnn', masterSpec: this.masterSpec});
   }
 
   /**
@@ -211,7 +214,7 @@ class InteractiveDragnnGraph {
       boxSelectionEnabled: true,
       autounselectify: true,
       // We'll do more custom layout later.
-      layout: {name: 'dragnn'},
+      layout: {name: 'dragnn', masterSpec: this.masterSpec},
       style: [
         {
           selector: 'node',
@@ -285,12 +288,15 @@ class InteractiveDragnnGraph {
  * situations, the script tag containing the graph definition will be generated
  * inline.
  *
- * @param {Object} masterTrace Master trace proto from DRAGNN.
+ * @param {!Object} masterTrace Master trace proto from DRAGNN.
  * @param {string} divId ID of the page element to populate with the graph.
+ * @param {?Object} masterSpec Master spec proto from DRAGNN; if provided, used
+ *     to improve the layout.
  */
-const visualizeToDiv = function(masterTrace, divId) {
-  const interactiveGraph =
-      new InteractiveDragnnGraph(masterTrace, document.getElementById(divId));
+
+const visualizeToDiv = function(masterTrace, divId, masterSpec) {
+  const interactiveGraph = new InteractiveDragnnGraph(
+      masterTrace, document.getElementById(divId), masterSpec);
   interactiveGraph.initDomElements();
 };
 

BIN
syntaxnet/dragnn/viz/viz.min.js.gz


+ 51 - 0
syntaxnet/examples/dragnn/BUILD

@@ -0,0 +1,51 @@
+py_binary(
+    name = "tutorial_1",
+    srcs = ["tutorial_1.py"],
+    data = [":data"],
+    deps = [":tutorial-deps"],
+)
+
+py_binary(
+    name = "tutorial_2",
+    srcs = ["tutorial_2.py"],
+    data = [":data"],
+    deps = [":tutorial-deps"],
+)
+
+py_library(
+    name = "tutorial-deps",
+    deps = [
+        "//dragnn/core:dragnn_bulk_ops",
+        "//dragnn/core:dragnn_ops",
+        "//dragnn/protos:spec_py_pb2",
+        "//dragnn/python:graph_builder",
+        "//dragnn/python:lexicon",
+        "//dragnn/python:load_dragnn_cc_impl_py",
+        "//dragnn/python:spec_builder",
+        "//dragnn/python:visualization",
+        "//syntaxnet:load_parser_ops_py",
+        "//syntaxnet:parser_ops",
+        "//syntaxnet:sentence_py_pb2",
+        "@org_tensorflow//tensorflow:tensorflow_py",
+        "@org_tensorflow//tensorflow/core:protos_all_py",
+    ],
+)
+
+filegroup(
+    name = "data",
+    data = glob(["tutorial_data/*"]),
+)
+
+sh_test(
+    name = "test_run_all_tutorials",
+    size = "medium",
+    srcs = ["test_run_all_tutorials.sh"],
+    args = [
+        "$(location :tutorial_1)",
+        "$(location :tutorial_2)",
+    ],
+    data = [
+        ":tutorial_1",
+        ":tutorial_2",
+    ],
+)

+ 1 - 0
syntaxnet/examples/dragnn/data/en/category-map

@@ -0,0 +1 @@
+0

+ 100 - 0
syntaxnet/examples/dragnn/data/en/char-map

@@ -0,0 +1,100 @@
+99
+e 88088
+t 63849
+a 60376
+o 55522
+n 50760
+i 49620
+s 43451
+r 43314
+h 34531
+l 30483
+d 27017
+u 20955
+c 19696
+m 17547
+y 15363
+f 14604
+g 14285
+p 13521
+w 13380
+9 11333
+. 10880
+b 10234
+v 7728
+, 6776
+k 6200
+I 5027
+- 3666
+T 3262
+A 2967
+S 2823
+' 2382
+C 1954
+E 1763
+M 1748
+P 1662
+B 1457
+x 1455
+N 1420
+W 1285
+H 1248
+" 1233
+D 1214
+O 1212
+R 1153
+! 1135
+/ 1124
+L 1094
+: 1067
+j 924
+? 915
+) 892
+F 887
+G 875
+q 873
+( 827
+U 709
+J 660
+Y 588
+z 566
+_ 539
+K 499
+V 372
+= 369
+* 303
+$ 254
+@ 177
+& 155
+> 151
+< 143
+Q 142
+; 100
+’ 94
+Z 92
+X 73
+# 69
++ 51
+% 39
+[ 34
+] 34
+“ 30
+” 30
+| 25
+~ 17
+` 15
+‘ 13
+– 9
+— 9
+^ 8
+… 7
+· 6
+{ 4
+} 3
+é 2
+£ 1
+­ 1
+³ 1
+Ã 1
+á 1
+ç 1

Diferenças do arquivo suprimidas por serem muito extensas
+ 11989 - 0
syntaxnet/examples/dragnn/data/en/char-ngram-map


BIN
syntaxnet/examples/dragnn/data/es/checkpoint


+ 50 - 0
syntaxnet/examples/dragnn/data/en/label-map

@@ -0,0 +1,50 @@
+49
+punct 22332
+case 16618
+nsubj 15093
+det 14849
+root 11915
+advmod 10068
+obj 9509
+obl 8633
+amod 8632
+compound 7889
+conj 7089
+mark 6943
+nmod 6661
+cc 6323
+aux 6103
+cop 4145
+advcl 3560
+nmod:poss 3419
+xcomp 2799
+nummod 2398
+ccomp 2202
+acl:relcl 1861
+appos 1542
+flat 1422
+acl 1417
+parataxis 1327
+aux:pass 1276
+nsubj:pass 1079
+compound:prt 674
+discourse 645
+expl 545
+obl:tmod 512
+fixed 460
+list 452
+obl:npmod 425
+iobj 335
+nmod:tmod 287
+goeswith 263
+csubj 256
+det:predet 157
+nmod:npmod 143
+vocative 119
+cc:preconj 100
+reparandum 29
+orphan 21
+flat:foreign 12
+dep 8
+csubj:pass 4
+dislocated 1

Diferenças do arquivo suprimidas por serem muito extensas
+ 15388 - 0
syntaxnet/examples/dragnn/data/en/lcword-map


syntaxnet/examples/dragnn/data/es/parser_spec.textproto → syntaxnet/examples/dragnn/data/en/parser_spec.textproto


BIN
syntaxnet/examples/dragnn/data/en/prefix-table


+ 18 - 0
syntaxnet/examples/dragnn/data/en/segmenter/category-map

@@ -0,0 +1,18 @@
+17
+NOUN 32984
+PUNCT 22412
+VERB 21475
+PRON 17028
+ADP 16730
+DET 15355
+PROPN 12649
+ADJ 11795
+AUX 11538
+ADV 9718
+CCONJ 6254
+PART 5138
+NUM 3831
+SCONJ 3602
+X 835
+INTJ 634
+SYM 574

+ 100 - 0
syntaxnet/examples/dragnn/data/en/segmenter/char-map

@@ -0,0 +1,100 @@
+99
+e 88088
+t 63849
+a 60376
+o 55522
+n 50760
+i 49620
+s 43451
+r 43314
+h 34531
+l 30483
+d 27017
+u 20955
+c 19696
+m 17547
+y 15363
+f 14604
+g 14285
+p 13521
+w 13380
+9 11333
+. 10880
+b 10234
+v 7728
+, 6776
+k 6200
+I 5027
+- 3666
+T 3262
+A 2967
+S 2823
+' 2382
+C 1954
+E 1763
+M 1748
+P 1662
+B 1457
+x 1455
+N 1420
+W 1285
+H 1248
+" 1233
+D 1214
+O 1212
+R 1153
+! 1135
+/ 1124
+L 1094
+: 1067
+j 924
+? 915
+) 892
+F 887
+G 875
+q 873
+( 827
+U 709
+J 660
+Y 588
+z 566
+_ 539
+K 499
+V 372
+= 369
+* 303
+$ 254
+@ 177
+& 155
+> 151
+< 143
+Q 142
+; 100
+’ 94
+Z 92
+X 73
+# 69
++ 51
+% 39
+[ 34
+] 34
+“ 30
+” 30
+| 25
+~ 17
+` 15
+‘ 13
+– 9
+— 9
+^ 8
+… 7
+· 6
+{ 4
+} 3
+é 2
+£ 1
+­ 1
+³ 1
+Ã 1
+á 1
+ç 1

Diferenças do arquivo suprimidas por serem muito extensas
+ 2017 - 0
syntaxnet/examples/dragnn/data/en/segmenter/char-ngram-map


BIN
syntaxnet/examples/dragnn/data/en/segmenter/checkpoint.data-00000-of-00001


BIN
syntaxnet/examples/dragnn/data/en/segmenter/checkpoint.index


BIN
syntaxnet/examples/dragnn/data/es/segmenter/checkpoint.meta


+ 50 - 0
syntaxnet/examples/dragnn/data/en/segmenter/label-map

@@ -0,0 +1,50 @@
+49
+punct 22332
+case 16618
+nsubj 15093
+det 14849
+root 11915
+advmod 10068
+obj 9509
+obl 8633
+amod 8632
+compound 7889
+conj 7089
+mark 6943
+nmod 6661
+cc 6323
+aux 6103
+cop 4145
+advcl 3560
+nmod:poss 3419
+xcomp 2799
+nummod 2398
+ccomp 2202
+acl:relcl 1861
+appos 1542
+flat 1422
+acl 1417
+parataxis 1327
+aux:pass 1276
+nsubj:pass 1079
+compound:prt 674
+discourse 645
+expl 545
+obl:tmod 512
+fixed 460
+list 452
+obl:npmod 425
+iobj 335
+nmod:tmod 287
+goeswith 263
+csubj 256
+det:predet 157
+nmod:npmod 143
+vocative 119
+cc:preconj 100
+reparandum 29
+orphan 21
+flat:foreign 12
+dep 8
+csubj:pass 4
+dislocated 1

Diferenças do arquivo suprimidas por serem muito extensas
+ 15388 - 0
syntaxnet/examples/dragnn/data/en/segmenter/lcword-map


BIN
syntaxnet/examples/dragnn/data/en/segmenter/prefix-table


syntaxnet/examples/dragnn/data/es/segmenter/spec.textproto → syntaxnet/examples/dragnn/data/en/segmenter/spec.textproto


BIN
syntaxnet/examples/dragnn/data/en/segmenter/suffix-table


+ 51 - 0
syntaxnet/examples/dragnn/data/en/segmenter/tag-map

@@ -0,0 +1,51 @@
+50
+NN 25427
+IN 19648
+DT 15850
+NNP 12156
+PRP 11101
+JJ 10954
+RB 9957
+. 9705
+VB 8851
+NNS 8077
+, 7620
+CC 6253
+VBP 5073
+VBD 4687
+VBZ 4393
+CD 3830
+VBN 3763
+VBG 3125
+MD 3118
+TO 3027
+PRP$ 2828
+-RRB- 962
+-LRB- 934
+WDT 891
+: 845
+WRB 798
+`` 773
+'' 750
+WP 712
+RP 681
+POS 663
+HYPH 637
+UH 635
+NNPS 494
+JJR 480
+JJS 363
+EX 340
+NFP 333
+GW 293
+ADD 290
+RBR 255
+$ 242
+PDT 164
+RBS 158
+SYM 151
+LS 110
+FW 92
+AFX 47
+WP$ 15
+XX 1

+ 50 - 0
syntaxnet/examples/dragnn/data/en/segmenter/tag-to-category

@@ -0,0 +1,50 @@
+$	SYM
+''	PUNCT
+,	PUNCT
+-LRB-	PUNCT
+-RRB-	PUNCT
+.	PUNCT
+:	PUNCT
+ADD	X
+AFX	X
+CC	CCONJ
+CD	NUM
+DT	DET
+EX	PRON
+FW	X
+GW	X
+HYPH	PUNCT
+IN	ADP
+JJ	ADJ
+JJR	ADJ
+JJS	ADJ
+LS	X
+MD	AUX
+NFP	PUNCT
+NN	NOUN
+NNP	PROPN
+NNPS	PROPN
+NNS	NOUN
+PDT	DET
+POS	PART
+PRP	PRON
+PRP$	PRON
+RB	ADV
+RBR	ADV
+RBS	ADV
+RP	ADP
+SYM	SYM
+TO	PART
+UH	INTJ
+VB	AUX
+VBD	VERB
+VBG	VERB
+VBN	VERB
+VBP	VERB
+VBZ	AUX
+WDT	PRON
+WP	PRON
+WP$	PRON
+WRB	ADV
+XX	X
+``	PUNCT

Diferenças do arquivo suprimidas por serem muito extensas
+ 18257 - 0
syntaxnet/examples/dragnn/data/en/segmenter/word-map


BIN
syntaxnet/examples/dragnn/data/en/suffix-table


+ 157 - 0
syntaxnet/examples/dragnn/data/en/tag-map

@@ -0,0 +1,157 @@
+156
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++NN" }  24906
+attribute { name: "fPOS" value: "ADP++IN" }  16044
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++NNP" }  12151
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "ADJ++JJ" }  10772
+attribute { name: "fPOS" value: "PUNCT++." }  9705
+attribute { name: "Definite" value: "Def" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DT" }  8580
+attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++NNS" }  8075
+attribute { name: "fPOS" value: "PUNCT++," }  7620
+attribute { name: "fPOS" value: "ADV++RB" }  7508
+attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "VERB++VB" }  6590
+attribute { name: "fPOS" value: "CCONJ++CC" }  6252
+attribute { name: "Definite" value: "Ind" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DT" }  3985
+attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++CD" }  3830
+attribute { name: "fPOS" value: "SCONJ++IN" }  3602
+attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++MD" }  3118
+attribute { name: "fPOS" value: "PART++TO" }  3020
+attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  2998
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" }  2970
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBZ" }  2681
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBP" }  2598
+attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++VBN" }  2323
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBP" }  2273
+attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "VERB++VBG" }  2104
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBZ" }  1712
+attribute { name: "Case" value: "Nom" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  1598
+attribute { name: "fPOS" value: "DET++DT" }  1484
+attribute { name: "fPOS" value: "PART++RB" }  1455
+attribute { name: "Case" value: "Nom" } attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  1194
+attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "Voice" value: "Pass" } attribute { name: "fPOS" value: "VERB++VBN" }  1135
+attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "AUX++VB" }  1107
+attribute { name: "Mood" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VB" }  1056
+attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  976
+attribute { name: "fPOS" value: "PUNCT++-RRB-" }  962
+attribute { name: "fPOS" value: "PUNCT++-LRB-" }  934
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" }  926
+attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++VBG" }  874
+attribute { name: "fPOS" value: "PUNCT++:" }  845
+attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  833
+attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++DT" }  827
+attribute { name: "fPOS" value: "PUNCT++``" }  773
+attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  769
+attribute { name: "fPOS" value: "PUNCT++\'\'" }  750
+attribute { name: "Case" value: "Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  741
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "PRON++WDT" }  718
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "ADV++WRB" }  709
+attribute { name: "fPOS" value: "ADP++RP" }  674
+attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++DT" }  666
+attribute { name: "fPOS" value: "PART++POS" }  663
+attribute { name: "Person" value: "2" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  653
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" }  643
+attribute { name: "fPOS" value: "PUNCT++HYPH" }  637
+attribute { name: "fPOS" value: "INTJ++UH" }  634
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "ADV++RB" }  553
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  525
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  503
+attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++NNPS" }  494
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PRON++NN" }  484
+attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADJ++JJR" }  480
+attribute { name: "Case" value: "Acc" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  428
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WP" }  421
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  380
+attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  376
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "ADV++RB" }  372
+attribute { name: "Degree" value: "Sup" } attribute { name: "fPOS" value: "ADJ++JJS" }  363
+attribute { name: "fPOS" value: "PRON++EX" }  340
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  332
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  319
+attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "AUX++VBN" }  305
+attribute { name: "fPOS" value: "X++GW" }  293
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "PRON++WP" }  291
+attribute { name: "fPOS" value: "X++ADD" }  290
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  274
+attribute { name: "Case" value: "Nom" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  245
+attribute { name: "fPOS" value: "SYM++$" }  242
+attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++DT" }  225
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBP" }  198
+attribute { name: "fPOS" value: "PUNCT++NFP" }  184
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  172
+attribute { name: "Degree" value: "Pos" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++JJ" }  172
+attribute { name: "fPOS" value: "DET++PDT" }  163
+attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  161
+attribute { name: "fPOS" value: "SYM++SYM" }  151
+attribute { name: "fPOS" value: "SYM++NFP" }  149
+attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "AUX++VBG" }  146
+attribute { name: "fPOS" value: "ADV++RBR" }  141
+attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" }  116
+attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADV++RBR" }  114
+attribute { name: "fPOS" value: "X++LS" }  110
+attribute { name: "Mood" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VB" }  98
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" }  92
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "DET++WDT" }  88
+attribute { name: "fPOS" value: "ADV++RBS" }  85
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  84
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "ADV++WRB" }  84
+attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++DT" }  82
+attribute { name: "fPOS" value: "PRON++PRP" }  76
+attribute { name: "fPOS" value: "X++FW" }  74
+attribute { name: "Degree" value: "Sup" } attribute { name: "fPOS" value: "ADV++RBS" }  73
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WDT" }  63
+attribute { name: "NumType" value: "Mult" } attribute { name: "fPOS" value: "ADV++RB" }  60
+attribute { name: "fPOS" value: "PRON++PRP$" }  54
+attribute { name: "fPOS" value: "X++AFX" }  47
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" }  41
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++NN" }  31
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  27
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++WDT" }  20
+attribute { name: "Foreign" value: "Yes" } attribute { name: "fPOS" value: "X++FW" }  18
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  16
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  13
+attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WP$" }  13
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  12
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  10
+attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  10
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" }  8
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  7
+attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  7
+attribute { name: "fPOS" value: "ADP++TO" }  7
+attribute { name: "fPOS" value: "ADV++RP" }  7
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  6
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "ADV++JJ" }  5
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" }  5
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "ADV++WRB" }  5
+attribute { name: "fPOS" value: "ADP++RB" }  5
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  4
+attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  4
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBP" }  4
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "PROPN++JJ" }  3
+attribute { name: "fPOS" value: "ADJ++RB" }  3
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" }  2
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" }  2
+attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "VERB++NNS" }  2
+attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  2
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++NN" }  2
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++NNP" }  2
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "VERB++NN" }  2
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++NNP" }  2
+attribute { name: "Degree" value: "Pos" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADV++JJ" }  1
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "NOUN++JJ" }  1
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" }  1
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++NNP" }  1
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++VBG" }  1
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NUM++NN" }  1
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++NN" }  1
+attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "PRON++WP$" }  1
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++WDT" }  1
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WP$" }  1
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "DET++WDT" }  1
+attribute { name: "fPOS" value: "ADJ++DT" }  1
+attribute { name: "fPOS" value: "ADV++CC" }  1
+attribute { name: "fPOS" value: "CCONJ++IN" }  1
+attribute { name: "fPOS" value: "CCONJ++RB" }  1
+attribute { name: "fPOS" value: "DET++PRP" }  1
+attribute { name: "fPOS" value: "PUNCT++PDT" }  1
+attribute { name: "fPOS" value: "PUNCT++UH" }  1
+attribute { name: "fPOS" value: "SYM++IN" }  1
+attribute { name: "fPOS" value: "X++XX" }  1

+ 156 - 0
syntaxnet/examples/dragnn/data/en/tag-to-category

@@ -0,0 +1,156 @@
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Acc" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Case" value: "Nom" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Definite" value: "Def" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DT" } 	
+attribute { name: "Definite" value: "Ind" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DT" } 	
+attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADJ++JJR" } 	
+attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADV++RBR" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++JJ" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADV++JJ" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "ADJ++JJ" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "ADV++JJ" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "ADV++RB" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "NOUN++JJ" } 	
+attribute { name: "Degree" value: "Pos" } attribute { name: "fPOS" value: "PROPN++JJ" } 	
+attribute { name: "Degree" value: "Sup" } attribute { name: "fPOS" value: "ADJ++JJS" } 	
+attribute { name: "Degree" value: "Sup" } attribute { name: "fPOS" value: "ADV++RBS" } 	
+attribute { name: "Foreign" value: "Yes" } attribute { name: "fPOS" value: "X++FW" } 	
+attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Gender" value: "Neut" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Mood" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VB" } 	
+attribute { name: "Mood" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VB" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBP" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBP" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBZ" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBZ" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBD" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++VBP" } 	
+attribute { name: "Mood" value: "Ind" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++VBP" } 	
+attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++CD" } 	
+attribute { name: "NumType" value: "Mult" } attribute { name: "fPOS" value: "ADV++RB" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++DT" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++DT" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++NNS" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++NNPS" } 	
+attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "VERB++NNS" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++DT" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++DT" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++NNP" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++NNP" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++VBG" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NUM++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PRON++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++NNP" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "VERB++NN" } 	
+attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++NNP" } 	
+attribute { name: "Person" value: "2" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WP$" } 	
+attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "PRON++WP$" } 	
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "ADV++RB" } 	
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "ADV++WRB" } 	
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++WDT" } 	
+attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++WDT" } 	
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "ADV++WRB" } 	
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "DET++WDT" } 	
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WDT" } 	
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WP" } 	
+attribute { name: "PronType" value: "Int" } attribute { name: "fPOS" value: "PRON++WP$" } 	
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "ADV++WRB" } 	
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "DET++WDT" } 	
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "PRON++WDT" } 	
+attribute { name: "PronType" value: "Rel" } attribute { name: "fPOS" value: "PRON++WP" } 	
+attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "Voice" value: "Pass" } attribute { name: "fPOS" value: "VERB++VBN" } 	
+attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "AUX++VBN" } 	
+attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++VBN" } 	
+attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++VBG" } 	
+attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++MD" } 	
+attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "AUX++VBG" } 	
+attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "VERB++VBG" } 	
+attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "AUX++VB" } 	
+attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "VERB++VB" } 	
+attribute { name: "fPOS" value: "ADJ++DT" } 	
+attribute { name: "fPOS" value: "ADJ++RB" } 	
+attribute { name: "fPOS" value: "ADP++IN" } 	
+attribute { name: "fPOS" value: "ADP++RB" } 	
+attribute { name: "fPOS" value: "ADP++RP" } 	
+attribute { name: "fPOS" value: "ADP++TO" } 	
+attribute { name: "fPOS" value: "ADV++CC" } 	
+attribute { name: "fPOS" value: "ADV++RB" } 	
+attribute { name: "fPOS" value: "ADV++RBR" } 	
+attribute { name: "fPOS" value: "ADV++RBS" } 	
+attribute { name: "fPOS" value: "ADV++RP" } 	
+attribute { name: "fPOS" value: "CCONJ++CC" } 	
+attribute { name: "fPOS" value: "CCONJ++IN" } 	
+attribute { name: "fPOS" value: "CCONJ++RB" } 	
+attribute { name: "fPOS" value: "DET++DT" } 	
+attribute { name: "fPOS" value: "DET++PDT" } 	
+attribute { name: "fPOS" value: "DET++PRP" } 	
+attribute { name: "fPOS" value: "INTJ++UH" } 	
+attribute { name: "fPOS" value: "PART++POS" } 	
+attribute { name: "fPOS" value: "PART++RB" } 	
+attribute { name: "fPOS" value: "PART++TO" } 	
+attribute { name: "fPOS" value: "PRON++EX" } 	
+attribute { name: "fPOS" value: "PRON++PRP" } 	
+attribute { name: "fPOS" value: "PRON++PRP$" } 	
+attribute { name: "fPOS" value: "PUNCT++," } 	
+attribute { name: "fPOS" value: "PUNCT++-LRB-" } 	
+attribute { name: "fPOS" value: "PUNCT++-RRB-" } 	
+attribute { name: "fPOS" value: "PUNCT++." } 	
+attribute { name: "fPOS" value: "PUNCT++:" } 	
+attribute { name: "fPOS" value: "PUNCT++HYPH" } 	
+attribute { name: "fPOS" value: "PUNCT++NFP" } 	
+attribute { name: "fPOS" value: "PUNCT++PDT" } 	
+attribute { name: "fPOS" value: "PUNCT++UH" } 	
+attribute { name: "fPOS" value: "PUNCT++\'\'" } 	
+attribute { name: "fPOS" value: "PUNCT++``" } 	
+attribute { name: "fPOS" value: "SCONJ++IN" } 	
+attribute { name: "fPOS" value: "SYM++$" } 	
+attribute { name: "fPOS" value: "SYM++IN" } 	
+attribute { name: "fPOS" value: "SYM++NFP" } 	
+attribute { name: "fPOS" value: "SYM++SYM" } 	
+attribute { name: "fPOS" value: "X++ADD" } 	
+attribute { name: "fPOS" value: "X++AFX" } 	
+attribute { name: "fPOS" value: "X++FW" } 	
+attribute { name: "fPOS" value: "X++GW" } 	
+attribute { name: "fPOS" value: "X++LS" } 	
+attribute { name: "fPOS" value: "X++XX" } 	

Diferenças do arquivo suprimidas por serem muito extensas
+ 18257 - 0
syntaxnet/examples/dragnn/data/en/word-map


+ 0 - 292
syntaxnet/examples/dragnn/data/es/char-map

@@ -1,292 +0,0 @@
-291
-e 194689
-a 174901
-o 121583
-n 106574
-s 101928
-r 96059
-i 95120
-l 83450
-d 77144
-t 65680
-c 63070
-u 57078
-m 37618
-p 35913
-9 23979
-, 18307
-b 18176
-g 16618
-. 14475
-y 13387
-v 13197
-ó 11400
-f 11251
-h 10796
-q 9967
-í 7152
-E 5983
-á 5719
-z 5627
-j 5260
-C 4656
-A 4280
-S 4212
-é 3968
-L 3736
-M 3421
-P 3112
-ñ 2851
-" 2328
-x 2311
-B 2203
-D 2094
-T 2036
-( 2025
-) 2022
-ú 1920
-R 1897
-I 1872
-k 1733
-G 1624
-F 1622
-N 1592
-- 1370
-H 1306
-J 1176
-V 1152
-U 1004
-O 977
-w 698
-% 618
-: 553
-W 484
-K 475
-' 334
-X 325
-Y 315
-² 296
-; 236
-/ 224
-Z 210
-« 154
-» 153
-Q 148
-Á 130
-? 111
-¿ 107
-$ 101
-ü 95
-É 62
-! 57
-º 50
-° 41
-ö 35
-& 31
-è 29
-à 22
-€ 22
-+ 21
-¡ 20
-ª 20
-= 19
-[ 19
-ç 19
-] 18
-Ó 17
-ō 16
-ä 14
-â 13
-# 11
-ã 10
-α 10
-ο 10
-ð 9
-ø 9
-Í 8
-λ 8
-* 7
-× 7
-å 7
-ô 7
-ć 7
-ρ 7
-ا 7
- 7
-` 6
-ū 6
-ς 6
-• 6
-Ú 5
-æ 5
-ι 5
-φ 5
-и 5
-Ñ 4
-Ö 4
-ë 4
-ò 4
-č 4
-ε 4
-κ 4
-μ 4
-τ 4
-р 4
-ت 4
-ل 4
-م 4
-� 4
-| 3
-¢ 3
-£ 3
-· 3
-ï 3
-õ 3
-ù 3
-ā 3
-ğ 3
-ī 3
-ı 3
-ő 3
-œ 3
-ş 3
-š 3
-Δ 3
-η 3
-π 3
-υ 3
-е 3
-н 3
-о 3
-т 3
-ب 3
-ा 3
-ম 3
-³ 2
-Î 2
-Ü 2
-î 2
-ý 2
-Đ 2
-Ł 2
-ř 2
-Š 2
-ǚ 2
-ɔ 2
-ə 2
-Γ 2
-Ζ 2
-Φ 2
-ί 2
-ν 2
-ό 2
-А 2
-К 2
-а 2
-в 2
-г 2
-й 2
-ר 2
-ح 2
-س 2
-ن 2
-ग 2
-ৌ 2
-♯ 2
-一 2
-下 2
-关 2
-天 2
-第 2
-_ 1
-Å 1
-È 1
-ß 1
-ê 1
-ì 1
-û 1
-þ 1
-đ 1
-ē 1
-ġ 1
-İ 1
-ł 1
-Ś 1
-ů 1
-ŵ 1
-ž 1
-ɛ 1
-ʂ 1
-ː 1
-Β 1
-Κ 1
-Ν 1
-έ 1
-ή 1
-β 1
-γ 1
-δ 1
-σ 1
-χ 1
-З 1
-И 1
-О 1
-П 1
-С 1
-Ф 1
-д 1
-к 1
-п 1
-с 1
-ч 1
-ё 1
-ְ 1
-ֵ 1
-ָ 1
-ה 1
-ט 1
-ס 1
-ע 1
-פ 1
-ء 1
-ة 1
-ج 1
-د 1
-ر 1
-ط 1
-غ 1
-ف 1
-و 1
-ي 1
-ं 1
-औ 1
-द 1
-ब 1
-भ 1
-र 1
-व 1
-ि 1
-ক 1
-ভ 1
-স 1
-ি 1
-ী 1
-ু 1
-ḥ 1
-Ἀ 1
-ᾶ 1
-ῦ 1
-† 1
-№ 1
-が 1
-ぎ 1
-ぐ 1
-げ 1
-ご 1
-上 1
-円 1
-海 1
-申 1
-花 1
-銭 1
-雄 1

syntaxnet/examples/dragnn/data/es-universal-dev.conll → syntaxnet/examples/dragnn/data/es/es-universal-dev.conll


syntaxnet/examples/dragnn/data/es-universal-train.conll → syntaxnet/examples/dragnn/data/es/es-universal-train.conll


+ 0 - 33
syntaxnet/examples/dragnn/data/es/label-map

@@ -1,33 +0,0 @@
-32
-case 56548
-det 51438
-punct 40104
-nmod 33120
-obl 20916
-amod 19460
-conj 14420
-root 13477
-nsubj 13214
-obj 11448
-cc 11100
-mark 9681
-advmod 9517
-appos 7524
-iobj 6239
-flat 6110
-nummod 6054
-cop 5274
-acl 4722
-acl:relcl 4478
-advcl 3547
-aux 3483
-fixed 2365
-aux:pass 1578
-parataxis 1370
-ccomp 1320
-xcomp 1188
-dep 1021
-nsubj:pass 1006
-csubj 567
-compound 357
-csubj:pass 5

+ 0 - 292
syntaxnet/examples/dragnn/data/es/segmenter/char-map

@@ -1,292 +0,0 @@
-291
-e 194689
-a 174901
-o 121583
-n 106574
-s 101928
-r 96059
-i 95120
-l 83450
-d 77144
-t 65680
-c 63070
-u 57078
-m 37618
-p 35913
-9 23979
-, 18307
-b 18176
-g 16618
-. 14475
-y 13387
-v 13197
-ó 11400
-f 11251
-h 10796
-q 9967
-í 7152
-E 5983
-á 5719
-z 5627
-j 5260
-C 4656
-A 4280
-S 4212
-é 3968
-L 3736
-M 3421
-P 3112
-ñ 2851
-" 2328
-x 2311
-B 2203
-D 2094
-T 2036
-( 2025
-) 2022
-ú 1920
-R 1897
-I 1872
-k 1733
-G 1624
-F 1622
-N 1592
-- 1370
-H 1306
-J 1176
-V 1152
-U 1004
-O 977
-w 698
-% 618
-: 553
-W 484
-K 475
-' 334
-X 325
-Y 315
-² 296
-; 236
-/ 224
-Z 210
-« 154
-» 153
-Q 148
-Á 130
-? 111
-¿ 107
-$ 101
-ü 95
-É 62
-! 57
-º 50
-° 41
-ö 35
-& 31
-è 29
-à 22
-€ 22
-+ 21
-¡ 20
-ª 20
-= 19
-[ 19
-ç 19
-] 18
-Ó 17
-ō 16
-ä 14
-â 13
-# 11
-ã 10
-α 10
-ο 10
-ð 9
-ø 9
-Í 8
-λ 8
-* 7
-× 7
-å 7
-ô 7
-ć 7
-ρ 7
-ا 7
- 7
-` 6
-ū 6
-ς 6
-• 6
-Ú 5
-æ 5
-ι 5
-φ 5
-и 5
-Ñ 4
-Ö 4
-ë 4
-ò 4
-č 4
-ε 4
-κ 4
-μ 4
-τ 4
-р 4
-ت 4
-ل 4
-م 4
-� 4
-| 3
-¢ 3
-£ 3
-· 3
-ï 3
-õ 3
-ù 3
-ā 3
-ğ 3
-ī 3
-ı 3
-ő 3
-œ 3
-ş 3
-š 3
-Δ 3
-η 3
-π 3
-υ 3
-е 3
-н 3
-о 3
-т 3
-ب 3
-ा 3
-ম 3
-³ 2
-Î 2
-Ü 2
-î 2
-ý 2
-Đ 2
-Ł 2
-ř 2
-Š 2
-ǚ 2
-ɔ 2
-ə 2
-Γ 2
-Ζ 2
-Φ 2
-ί 2
-ν 2
-ό 2
-А 2
-К 2
-а 2
-в 2
-г 2
-й 2
-ר 2
-ح 2
-س 2
-ن 2
-ग 2
-ৌ 2
-♯ 2
-一 2
-下 2
-关 2
-天 2
-第 2
-_ 1
-Å 1
-È 1
-ß 1
-ê 1
-ì 1
-û 1
-þ 1
-đ 1
-ē 1
-ġ 1
-İ 1
-ł 1
-Ś 1
-ů 1
-ŵ 1
-ž 1
-ɛ 1
-ʂ 1
-ː 1
-Β 1
-Κ 1
-Ν 1
-έ 1
-ή 1
-β 1
-γ 1
-δ 1
-σ 1
-χ 1
-З 1
-И 1
-О 1
-П 1
-С 1
-Ф 1
-д 1
-к 1
-п 1
-с 1
-ч 1
-ё 1
-ְ 1
-ֵ 1
-ָ 1
-ה 1
-ט 1
-ס 1
-ע 1
-פ 1
-ء 1
-ة 1
-ج 1
-د 1
-ر 1
-ط 1
-غ 1
-ف 1
-و 1
-ي 1
-ं 1
-औ 1
-द 1
-ब 1
-भ 1
-र 1
-व 1
-ि 1
-ক 1
-ভ 1
-স 1
-ি 1
-ী 1
-ু 1
-ḥ 1
-Ἀ 1
-ᾶ 1
-ῦ 1
-† 1
-№ 1
-が 1
-ぎ 1
-ぐ 1
-げ 1
-ご 1
-上 1
-円 1
-海 1
-申 1
-花 1
-銭 1
-雄 1

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 2621
syntaxnet/examples/dragnn/data/es/segmenter/char-ngram-map


BIN
syntaxnet/examples/dragnn/data/es/segmenter/checkpoint.data-00000-of-00001


BIN
syntaxnet/examples/dragnn/data/es/segmenter/checkpoint.index


+ 0 - 33
syntaxnet/examples/dragnn/data/es/segmenter/label-map

@@ -1,33 +0,0 @@
-32
-case 56548
-det 51438
-punct 40104
-nmod 33120
-obl 20916
-amod 19460
-conj 14420
-root 13477
-nsubj 13214
-obj 11448
-cc 11100
-mark 9681
-advmod 9517
-appos 7524
-iobj 6239
-flat 6110
-nummod 6054
-cop 5274
-acl 4722
-acl:relcl 4478
-advcl 3547
-aux 3483
-fixed 2365
-aux:pass 1578
-parataxis 1370
-ccomp 1320
-xcomp 1188
-dep 1021
-nsubj:pass 1006
-csubj 567
-compound 357
-csubj:pass 5

+ 0 - 5
syntaxnet/examples/dragnn/data/es/segmenter/tag-map

@@ -1,5 +0,0 @@
-4
-DET 3
-ADP 2
-ADJ 1
-VERB 1

+ 0 - 5
syntaxnet/examples/dragnn/data/es/segmenter/tag-to-category

@@ -1,5 +0,0 @@
-	ADV
-ADJ	X
-ADP	X
-DET	DET
-VERB	X

+ 0 - 397
syntaxnet/examples/dragnn/data/es/tag-map

@@ -1,397 +0,0 @@
-396
-attribute { name: "fPOS" value: "ADP++" }  59738
-attribute { name: "fPOS" value: "PUNCT++" }  40070
-attribute { name: "fPOS" value: "PROPN++" }  29368
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++" }  21896
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++" }  20405
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  16442
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  12487
-attribute { name: "fPOS" value: "CCONJ++" }  11583
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++" }  9214
-attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  7938
-attribute { name: "fPOS" value: "ADV++" }  7768
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  7707
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++" }  7077
-attribute { name: "fPOS" value: "SCONJ++" }  6753
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "VERB++" }  5402
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  4984
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  4804
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  4672
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  4402
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  4082
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  3389
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  3209
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  2953
-attribute { name: "fPOS" value: "NOUN++" }  2942
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  2868
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  2509
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  2476
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  2071
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  1984
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  1792
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" }  1759
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++" }  1615
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "VERB++" }  1606
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  1516
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1505
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  1445
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "ADV++" }  1428
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  1339
-attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADV++" }  1275
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++" }  1237
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  1184
-attribute { name: "fPOS" value: "SYM++" }  1184
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  1147
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  1048
-attribute { name: "fPOS" value: "X++" }  1026
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  888
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  878
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  837
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  833
-attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  781
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  761
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" }  739
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" }  731
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" }  642
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  633
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  612
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  571
-attribute { name: "fPOS" value: "ADJ++" }  497
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" }  486
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  472
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  464
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  441
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  398
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  393
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  388
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "AUX++" }  384
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  377
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  372
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  365
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" }  354
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" }  350
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  348
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  330
-attribute { name: "Degree" value: "Cmp" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  310
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" }  297
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" }  271
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  270
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  269
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  265
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  234
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  234
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  226
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  226
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" }  222
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++" }  220
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  215
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  208
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  198
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "NOUN++" }  195
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "AUX++" }  187
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  185
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  182
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++" }  177
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  176
-attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  175
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  173
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  172
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  167
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  164
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  163
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  160
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  155
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  155
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  151
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  147
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  147
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  145
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  144
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  143
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  139
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  138
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  134
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  130
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" }  123
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  122
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  120
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  119
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  118
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  117
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  115
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" }  111
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  110
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  109
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "NOUN++" }  106
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  106
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  103
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" }  100
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  99
-attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  99
-attribute { name: "Degree" value: "Cmp" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  96
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  95
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++" }  90
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  88
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" }  83
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "NOUN++" }  83
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  82
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  80
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  78
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" }  76
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  76
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" }  73
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "AUX++" }  72
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  70
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  69
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  67
-attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  65
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" }  63
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  61
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  58
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "PROPN++" }  58
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  56
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  55
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" }  52
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  50
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "DET++" }  50
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "PROPN++" }  50
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" }  49
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  48
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "fPOS" value: "SYM++" }  48
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  47
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  47
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "SYM++" }  47
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  47
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  47
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  46
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" }  46
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  45
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  44
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  43
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" }  43
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  43
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  40
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" }  39
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "X++" }  39
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  38
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  38
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  38
-attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  37
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  36
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  36
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  34
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" }  34
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" }  33
-attribute { name: "Foreign" value: "Yes" } attribute { name: "fPOS" value: "X++" }  32
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  31
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  30
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  30
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "DET++" }  30
-attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  30
-attribute { name: "fPOS" value: "PART++" }  30
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  29
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  28
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  28
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  27
-attribute { name: "Case" value: "Acc" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Pre" } attribute { name: "PronType" value: "Ind" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  26
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++" }  26
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "X++" }  26
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  25
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  25
-attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  25
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "CCONJ++" }  24
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "X++" }  23
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  21
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  21
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  20
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "X++" }  20
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  20
-attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" }  20
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "ADJ++" }  20
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  19
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  19
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  18
-attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  18
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "PROPN++" }  18
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" }  17
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "PROPN++" }  17
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  17
-attribute { name: "Foreign" value: "Yes" } attribute { name: "fPOS" value: "PROPN++" }  16
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  15
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  15
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  15
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  15
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  15
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "ADJ++" }  14
-attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Pre" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  13
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  13
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  13
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  12
-attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  11
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "SYM++" }  10
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  10
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "fPOS" value: "X++" }  10
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  9
-attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADJ++" }  9
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" }  9
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  9
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  9
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  9
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" }  9
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  9
-attribute { name: "Gender" value: "Fem" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  8
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  8
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  8
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++" }  8
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  8
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "X++" }  8
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "PROPN++" }  8
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  7
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  7
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  7
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" }  7
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  7
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "SYM++" }  7
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  7
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "fPOS" value: "X++" }  7
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "fPOS" value: "X++" }  7
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  6
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Polite" value: "Form" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  6
-attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  6
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  6
-attribute { name: "Degree" value: "Abs" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  6
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  6
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  6
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "X++" }  6
-attribute { name: "Gender" value: "Masc" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  6
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  6
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  6
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  6
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  6
-attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  6
-attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Pre" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  5
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  5
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  5
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  5
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" }  5
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  5
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  5
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  5
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" }  5
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  5
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  5
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Polite" value: "Form" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  4
-attribute { name: "Case" value: "Com" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  4
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  4
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  4
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" }  4
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "X++" }  4
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  4
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  4
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  4
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  4
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  4
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "SYM++" }  4
-attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  4
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  3
-attribute { name: "Case" value: "Com" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  3
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "SYM++" }  3
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  3
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  3
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  3
-attribute { name: "Gender" value: "Masc" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  3
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "ADJ++" }  3
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  3
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  3
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  3
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  3
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  3
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  3
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  3
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  3
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "X++" }  3
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DET" }  2
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Degree" value: "Cmp" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  2
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "X++" }  2
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" }  2
-attribute { name: "Gender" value: "Fem" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  2
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "ADJ++" }  2
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  2
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "AUX++" }  2
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  2
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  2
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  2
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  2
-attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  2
-attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  2
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++" }  2
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "X++" }  2
-attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  2
-attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "ADV++" }  2
-attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" }  2
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "NOUN++" }  2
-attribute { name: "fPOS" value: "X++ADP" }  2
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Case" value: "Acc" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Case" value: "Com" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DET" }  1
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Degree" value: "Abs" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" }  1
-attribute { name: "Degree" value: "Abs" } attribute { name: "fPOS" value: "ADJ++" }  1
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" }  1
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "X++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" }  1
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "X++" }  1
-attribute { name: "Gender" value: "Masc" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  1
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" }  1
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "fPOS" value: "X++" }  1
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "SYM++" }  1
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "Number" value: "Sing" } attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "ADJ++" }  1
-attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" }  1
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "ADP++" }  1
-attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" }  1
-attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" }  1
-attribute { name: "fPOS" value: "X++ADJ" }  1
-attribute { name: "fPOS" value: "X++VERB" }  1

+ 0 - 396
syntaxnet/examples/dragnn/data/es/tag-to-category

@@ -1,396 +0,0 @@
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Pre" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Pre" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Pre" } attribute { name: "PronType" value: "Ind" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Dat" } attribute { name: "Person" value: "3" } attribute { name: "PrepCase" value: "Npr" } attribute { name: "PronType" value: "Prs" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Polite" value: "Form" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Acc,Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Polite" value: "Form" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Com" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Com" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Com" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "Reflex" value: "Yes" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Case" value: "Dat" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Case" value: "Nom" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DET" } 	
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Def" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++DET" } 	
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Definite" value: "Ind" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Art" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Abs" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Cmp" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Degree" value: "Cmp" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Cmp" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Cmp" } attribute { name: "fPOS" value: "ADV++" } 	
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Degree" value: "Sup" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Foreign" value: "Yes" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Fem" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Part" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Gender" value: "Masc" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Cnd" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Imp" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Fut" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Past" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Ind" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Imp" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Mood" value: "Sub" } attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Tense" value: "Pres" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "NumType" value: "Ord" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "1" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "2" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Number" value: "Plur" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "NumType" value: "Card" } attribute { name: "fPOS" value: "NUM++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "1" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "2" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Person" value: "3" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "Number" value: "Sing" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "ADP++" } 	
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "ADV++" } 	
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "CCONJ++" } 	
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "Polarity" value: "Neg" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "Poss" value: "Yes" } attribute { name: "PronType" value: "Prs" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "PronType" value: "Dem" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "ADV++" } 	
-attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "PronType" value: "Ind" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "PronType" value: "Int,Rel" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "PronType" value: "Neg" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "DET++" } 	
-attribute { name: "PronType" value: "Tot" } attribute { name: "fPOS" value: "PRON++" } 	
-attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "VerbForm" value: "Fin" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "VerbForm" value: "Ger" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "AUX++" } 	
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "VERB++" } 	
-attribute { name: "VerbForm" value: "Inf" } attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "fPOS" value: "ADJ++" } 	
-attribute { name: "fPOS" value: "ADP++" } 	
-attribute { name: "fPOS" value: "ADV++" } 	
-attribute { name: "fPOS" value: "CCONJ++" } 	
-attribute { name: "fPOS" value: "NOUN++" } 	
-attribute { name: "fPOS" value: "PART++" } 	
-attribute { name: "fPOS" value: "PROPN++" } 	
-attribute { name: "fPOS" value: "PUNCT++" } 	
-attribute { name: "fPOS" value: "SCONJ++" } 	
-attribute { name: "fPOS" value: "SYM++" } 	
-attribute { name: "fPOS" value: "X++" } 	
-attribute { name: "fPOS" value: "X++ADJ" } 	
-attribute { name: "fPOS" value: "X++ADP" } 	
-attribute { name: "fPOS" value: "X++VERB" } 	

BIN
syntaxnet/examples/dragnn/data/mini-english.checkpoint


BIN
syntaxnet/examples/dragnn/data/mini-english.checkpoint.meta


+ 28 - 26
syntaxnet/examples/dragnn/interactive_text_analyzer.ipynb

@@ -46,8 +46,9 @@
     "\n",
     "    sess = tf.Session(graph=graph)\n",
     "    with graph.as_default():\n",
-    "        sess.run(tf.global_variables_initializer())\n",
-    "        sess.run('save/restore_all', {'save/Const:0': os.path.join(base_dir, checkpoint_name)})\n",
+    "        #sess.run(tf.global_variables_initializer())\n",
+    "        #sess.run('save/restore_all', {'save/Const:0': os.path.join(base_dir, checkpoint_name)})\n",
+    "        builder.saver.restore(sess, os.path.join(base_dir, checkpoint_name))\n",
     "        \n",
     "    def annotate_sentence(sentence):\n",
     "        with graph.as_default():\n",
@@ -55,8 +56,8 @@
     "                            feed_dict={annotator['input_batch']: [sentence]})\n",
     "    return annotate_sentence\n",
     "\n",
-    "segmenter_model = load_model(\"data/es/segmenter\", \"spec.textproto\", \"checkpoint\")\n",
-    "parser_model = load_model(\"data/es\", \"parser_spec.textproto\", \"checkpoint\")"
+    "segmenter_model = load_model(\"data/en/segmenter\", \"spec.textproto\", \"checkpoint\")\n",
+    "parser_model = load_model(\"data/en\", \"parser_spec.textproto\", \"checkpoint\")"
    ]
   },
   {
@@ -72,7 +73,7 @@
     "def annotate_text(text):\n",
     "    sentence = sentence_pb2.Sentence(\n",
     "        text=text,\n",
-    "        token=[sentence_pb2.Token(word=word, start=-1, end=-1) for word in text.split()]\n",
+    "        token=[sentence_pb2.Token(word=text, start=-1, end=-1)]\n",
     "    )\n",
     "\n",
     "    # preprocess\n",
@@ -85,7 +86,7 @@
     "    assert len(annotations) == 1\n",
     "    assert len(traces) == 1\n",
     "    return sentence_pb2.Sentence.FromString(annotations[0]), traces[0]\n",
-    "annotate_text(\"casa\"); None  # just make sure it works"
+    "annotate_text(\"John is eating pizza with a fork\"); None  # just make sure it works"
    ]
   },
   {
@@ -95,7 +96,7 @@
     "editable": true
    },
    "source": [
-    "# Interactive trace explorer\n",
+    "# Interactive parse tree explorer\n",
     "Run the cell below, and then enter text in the interactive widget."
    ]
   },
@@ -109,21 +110,23 @@
    },
    "outputs": [],
    "source": [
-    "def _trace_explorer():  # put stuff in a function to not pollute global scope\n",
-    "    text = widgets.Text()\n",
+    "def _parse_tree_explorer():  # put stuff in a function to not pollute global scope\n",
+    "    text = widgets.Text(\"John is eating pizza with anchovies\")\n",
+    "    # Also try: John is eating pizza with a fork\n",
     "    display.display(text)\n",
-    "\n",
-    "    output = visualization.InteractiveVisualization()\n",
-    "    display.display(display.HTML(output.initial_html()))\n",
+    "    html = widgets.HTML()\n",
+    "    display.display(html)\n",
     "\n",
     "    def handle_submit(sender):\n",
     "        del sender  # unused\n",
     "        parse_tree, trace = annotate_text(text.value)\n",
-    "        display.display(display.HTML(output.show_trace(trace)))\n",
-    "\n",
+    "        html.value = u\"\"\"\n",
+    "        <div style=\"max-width: 100%\">{}</div>\n",
+    "        <style type=\"text/css\">svg {{ max-width: 100%; }}</style>\n",
+    "        \"\"\".format(render_parse_tree_graphviz.parse_tree_graph(parse_tree))\n",
     "\n",
     "    text.on_submit(handle_submit)\n",
-    "_trace_explorer()"
+    "_parse_tree_explorer()"
    ]
   },
   {
@@ -133,7 +136,7 @@
     "editable": true
    },
    "source": [
-    "# Interactive parse tree explorer\n",
+    "# Interactive trace explorer\n",
     "Run the cell below, and then enter text in the interactive widget."
    ]
   },
@@ -147,22 +150,21 @@
    },
    "outputs": [],
    "source": [
-    "def _parse_tree_explorer():  # put stuff in a function to not pollute global scope\n",
-    "    text = widgets.Text()\n",
+    "def _trace_explorer():  # put stuff in a function to not pollute global scope\n",
+    "    text = widgets.Text(\"John is eating pizza with anchovies\")\n",
     "    display.display(text)\n",
-    "    html = widgets.HTML()\n",
-    "    display.display(html)\n",
+    "\n",
+    "    output = visualization.InteractiveVisualization()\n",
+    "    display.display(display.HTML(output.initial_html()))\n",
     "\n",
     "    def handle_submit(sender):\n",
     "        del sender  # unused\n",
     "        parse_tree, trace = annotate_text(text.value)\n",
-    "        html.value = u\"\"\"\n",
-    "        <div style=\"max-width: 100%\">{}</div>\n",
-    "        <style type=\"text/css\">svg {{ max-width: 100%; }}</style>\n",
-    "        \"\"\".format(render_parse_tree_graphviz.parse_tree_graph(parse_tree))\n",
+    "        display.display(display.HTML(output.show_trace(trace)))\n",
+    "\n",
     "\n",
     "    text.on_submit(handle_submit)\n",
-    "_parse_tree_explorer()"
+    "_trace_explorer()"
    ]
   }
  ],
@@ -182,7 +184,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython2",
-   "version": "2.7.9"
+   "version": "2.7.6"
   }
  },
  "nbformat": 4,

+ 27 - 0
syntaxnet/examples/dragnn/test_run_all_tutorials.sh

@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Bazel should pass the location of tutorials on the command line. We convert
+# these into absolute paths so we can 'cd' into a temporary directory.
+#
+# Also note that while modern versions of `readlink` support multiple arguments,
+# old versions don't seem to.
+tutorials=($(for i in "$@"; do readlink -f "$i"; done))
+
+set -e
+
+# Note: This doesn't normally exist, and in fact no environment variables seem
+# to provide a substitute, but it may still be useful to provide as an override,
+# just in case /tmp is inacessible.
+mkdir -p "${TEST_TMPDIR:-/tmp/test-tutorials}"
+cd "${TEST_TMPDIR:-/tmp/test-tutorials}"
+
+rm -f *.html
+for tutorial in "${tutorials[@]}"; do
+  "$tutorial"
+done
+for i in 1 2; do
+  if ! [[ -f "dragnn_tutorial_$i.html" ]]; then
+    echo "Expected dragnn_tutorial_$i.html to be written." >&2
+    exit 1
+  fi
+done

+ 53 - 45
syntaxnet/examples/dragnn/basic_parser_tutorial.ipynb

@@ -41,15 +41,14 @@
     "from dragnn.python import trainer_lib\n",
     "from dragnn.python import visualization\n",
     "\n",
-    "DATA_DIR = \"/opt/tensorflow/syntaxnet/examples/dragnn/data\"\n",
-    "TENSORBOARD_DIR = \"/notebooks/tensorboard\"\n",
-    "CHECKPOINT_FILENAME = \"{}/mini-english.checkpoint\".format(DATA_DIR)\n",
-    "TRAINING_CORPUS_PATH = \"{}/es-universal-train.conll\".format(DATA_DIR)\n",
-    "DEV_CORPUS_PATH = \"{}/es-universal-dev.conll\".format(DATA_DIR)\n",
-    "PROJECTIVIZE_TRAINING_CORPUS = True\n",
+    "DATA_DIR = '/opt/tensorflow/syntaxnet/examples/dragnn/data/es'\n",
+    "TENSORBOARD_DIR = '/notebooks/tensorboard'\n",
+    "CHECKPOINT_FILENAME = '{}/spanish.checkpoint'.format(DATA_DIR)\n",
+    "TRAINING_CORPUS_PATH = '{}/es-universal-train.conll'.format(DATA_DIR)\n",
+    "DEV_CORPUS_PATH = '{}/es-universal-dev.conll'.format(DATA_DIR)\n",
     "\n",
     "# Some of the IO functions fail miserably if data is missing.\n",
-    "assert os.path.isfile(TRAINING_CORPUS_PATH), \"Couldn't find training corpus\"\n",
+    "assert os.path.isfile(TRAINING_CORPUS_PATH), 'Could not find training corpus'\n",
     "\n",
     "logging.set_verbosity(logging.WARN)\n",
     "\n",
@@ -57,7 +56,7 @@
     "# the training data.\n",
     "lexicon.build_lexicon(DATA_DIR, TRAINING_CORPUS_PATH)\n",
     "\n",
-    "# Construct the \"lookahead\" ComponentSpec. This is a simple right-to-left RNN\n",
+    "# Construct the 'lookahead' ComponentSpec. This is a simple right-to-left RNN\n",
     "# sequence model, which encodes the context to the right of each token. It has\n",
     "# no loss except for the downstream components.\n",
     "lookahead = spec_builder.ComponentSpecBuilder('lookahead')\n",
@@ -66,7 +65,7 @@
     "lookahead.set_transition_system(name='shift-only', left_to_right='true')\n",
     "lookahead.add_fixed_feature(name='words', fml='input.word', embedding_dim=64)\n",
     "lookahead.add_rnn_link(embedding_dim=-1)\n",
-    "lookahead.fill_from_resources(RESOURCE_PATH)\n",
+    "lookahead.fill_from_resources(DATA_DIR)\n",
     "\n",
     "# Construct the ComponentSpec for tagging. This is a simple left-to-right RNN\n",
     "# sequence tagger.\n",
@@ -98,7 +97,7 @@
     "    source_translator='shift-reduce-step',  # maps token indices -> step\n",
     "    embedding_dim=32)                       # project down to 32 dims\n",
     "\n",
-    "parser.fill_from_resources(RESOURCE_PATH)\n",
+    "parser.fill_from_resources(DATA_DIR)\n",
     "\n",
     "master_spec = spec_pb2.MasterSpec()\n",
     "master_spec.component.extend([lookahead.spec, tagger.spec, parser.spec])\n",
@@ -115,33 +114,40 @@
    },
    "outputs": [],
    "source": [
-    "# Run a small pre-trained English parser on this sentence.\n",
-    "\n",
-    "text = \"Did you see that big red car ?\"\n",
-    "tokens = [sentence_pb2.Token(word=word, start=-1, end=-1) for word in text.split()]\n",
-    "sentence = sentence_pb2.Sentence()\n",
-    "sentence.token.extend(tokens)\n",
-    "\n",
-    "# Build the TensorFlow graph.\n",
+    "# Build the TensorFlow graph based on the DRAGNN network spec.\n",
     "graph = tf.Graph()\n",
     "with graph.as_default():\n",
-    "    hyperparam_config = spec_pb2.GridPoint()\n",
+    "    hyperparam_config = spec_pb2.GridPoint(\n",
+    "        learning_method='adam',\n",
+    "        learning_rate=0.0005, \n",
+    "        adam_beta1=0.9, adam_beta2=0.9, adam_eps=0.001,\n",
+    "        dropout_rate=0.8, gradient_clip_norm=1,\n",
+    "        use_moving_average=True,\n",
+    "        seed=1)\n",
     "    builder = graph_builder.MasterBuilder(master_spec, hyperparam_config)\n",
-    "\n",
-    "    target = spec_pb2.TrainTarget()\n",
-    "    target.name = 'all'\n",
-    "    target.unroll_using_oracle.extend([True, False, True])\n",
-    "    target.component_weights.extend([0.5, 0, 0.5])\n",
-    "    trainer = builder.add_training_from_config(target, trace_only=True)\n",
+    "    target = spec_pb2.TrainTarget(\n",
+    "        name='all',\n",
+    "        unroll_using_oracle=[False, True, True], # train tagger & parser on gold unrolling, skip lookahead\n",
+    "        component_weights=[0, 0.5, 0.5]) # tagger and parser losses have equal weights\n",
+    "    trainer = builder.add_training_from_config(target)\n",
     "    annotator = builder.add_annotation(enable_tracing=True)\n",
     "    builder.add_saver()\n",
     "\n",
+    "# Train on Spanish data for N_STEPS steps and evaluate.\n",
+    "N_STEPS = 20\n",
+    "BATCH_SIZE = 64\n",
     "with tf.Session(graph=graph) as sess:\n",
-    "    builder.saver.restore(sess, CHECKPOINT_FILENAME)\n",
-    "    annotations, traces = sess.run([annotator['annotations'], annotator['traces']],\n",
-    "                      feed_dict={annotator['input_batch']: [sentence.SerializeToString()]})\n",
-    "\n",
-    "HTML(visualization.trace_html(traces[0]))"
+    "    sess.run(tf.global_variables_initializer())\n",
+    "    training_corpus = ConllSentenceReader(\n",
+    "        TRAINING_CORPUS_PATH, projectivize=True).corpus()\n",
+    "    dev_corpus = ConllSentenceReader(DEV_CORPUS_PATH).corpus()[:200]\n",
+    "    for step in xrange(N_STEPS):\n",
+    "        trainer_lib.run_training_step(sess, trainer, training_corpus, batch_size=BATCH_SIZE)\n",
+    "        tf.logging.warning('Step %d/%d', step + 1, N_STEPS)\n",
+    "    parsed_dev_corpus = trainer_lib.annotate_dataset(sess, annotator, dev_corpus)\n",
+    "    pos, uas, las = evaluation.calculate_parse_metrics(dev_corpus, parsed_dev_corpus)\n",
+    "    tf.logging.warning('POS %.2f UAS %.2f LAS %.2f', pos, uas, las)\n",
+    "    builder.saver.save(sess, CHECKPOINT_FILENAME)\n"
    ]
   },
   {
@@ -154,8 +160,20 @@
    },
    "outputs": [],
    "source": [
-    "parsed_sentence = sentence_pb2.Sentence.FromString(annotations[0])\n",
-    "HTML(render_parse_tree_graphviz.parse_tree_graph(parsed_sentence))"
+    "# Visualize the output of our mini-trained model on a test sentence.\n",
+    "\n",
+    "text = '¿ Viste ese gran coche rojo ?'\n",
+    "tokens = [sentence_pb2.Token(word=word, start=-1, end=-1) for word in text.split()]\n",
+    "sentence = sentence_pb2.Sentence()\n",
+    "sentence.token.extend(tokens)\n",
+    "\n",
+    "with tf.Session(graph=graph) as sess:\n",
+    "    # Restore the model we just trained.\n",
+    "    builder.saver.restore(sess, CHECKPOINT_FILENAME)\n",
+    "    annotations, traces = sess.run([annotator['annotations'], annotator['traces']],\n",
+    "                      feed_dict={annotator['input_batch']: [sentence.SerializeToString()]})\n",
+    "\n",
+    "HTML(visualization.trace_html(traces[0]))"
    ]
   },
   {
@@ -168,18 +186,8 @@
    },
    "outputs": [],
    "source": [
-    "# Train on Spanish data for 100 steps and evaluate.\n",
-    "\n",
-    "with tf.Session(graph=graph) as sess:\n",
-    "    sess.run(tf.global_variables_initializer())\n",
-    "    training_corpus = ConllSentenceReader(\n",
-    "        TRAINING_CORPUS_PATH, projectivize=PROJECTIVIZE_TRAINING_CORPUS).corpus()\n",
-    "    dev_corpus = ConllSentenceReader(DEV_CORPUS_PATH).corpus()\n",
-    "    builder.saver.restore(sess, CHECKPOINT_FILENAME)\n",
-    "    for step in xrange(100):\n",
-    "        trainer_lib.run_training_step(sess, trainer, training_corpus, batch_size=4)\n",
-    "    parsed_eval_corpus = trainer_lib.annotate_dataset(sess, annotator, eval_corpus)\n",
-    "    print \"POS %.2f UAS %.2f LAS %.2f\" % evaluation.calculate_parse_metrics(eval_corpus, parsed_eval_corpus)"
+    "parsed_sentence = sentence_pb2.Sentence.FromString(annotations[0])\n",
+    "HTML(render_parse_tree_graphviz.parse_tree_graph(parsed_sentence))"
    ]
   },
   {
@@ -210,7 +218,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython2",
-   "version": "2.7.6"
+   "version": "2.7.9"
   }
  },
  "nbformat": 4,

+ 77 - 0
syntaxnet/examples/dragnn/tutorial_1.py

@@ -0,0 +1,77 @@
+"""First example--RNN POS tagger."""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import os.path
+
+import tensorflow as tf
+from google.protobuf import text_format
+from dragnn.protos import spec_pb2
+from dragnn.python import graph_builder
+from dragnn.python import lexicon
+from dragnn.python import spec_builder
+from dragnn.python import visualization
+from syntaxnet import sentence_pb2
+
+import dragnn.python.load_dragnn_cc_impl
+import syntaxnet.load_parser_ops
+
+data_dir = os.path.join(
+    os.path.dirname(os.path.abspath(__file__)), 'tutorial_data')
+lexicon_dir = '/tmp/tutorial/lexicon'
+training_sentence = os.path.join(data_dir, 'sentence.prototext')
+if not os.path.isdir(lexicon_dir):
+  os.makedirs(lexicon_dir)
+
+
+def main(argv):
+  del argv  # unused
+  # Constructs lexical resources for SyntaxNet in the given resource path, from
+  # the training data.
+  lexicon.build_lexicon(
+      lexicon_dir,
+      training_sentence,
+      training_corpus_format='sentence-prototext')
+
+  # Construct the ComponentSpec for tagging. This is a simple left-to-right RNN
+  # sequence tagger.
+  tagger = spec_builder.ComponentSpecBuilder('tagger')
+  tagger.set_network_unit(name='FeedForwardNetwork', hidden_layer_sizes='256')
+  tagger.set_transition_system(name='tagger')
+  tagger.add_fixed_feature(name='words', fml='input.word', embedding_dim=64)
+  tagger.add_rnn_link(embedding_dim=-1)
+  tagger.fill_from_resources(lexicon_dir)
+
+  master_spec = spec_pb2.MasterSpec()
+  master_spec.component.extend([tagger.spec])
+
+  hyperparam_config = spec_pb2.GridPoint()
+
+  # Build the TensorFlow graph.
+  graph = tf.Graph()
+  with graph.as_default():
+    builder = graph_builder.MasterBuilder(master_spec, hyperparam_config)
+
+    target = spec_pb2.TrainTarget()
+    target.name = 'all'
+    target.unroll_using_oracle.extend([True])
+    dry_run = builder.add_training_from_config(target, trace_only=True)
+
+  # Read in serialized protos from training data.
+  sentence = sentence_pb2.Sentence()
+  text_format.Merge(open(training_sentence).read(), sentence)
+  training_set = [sentence.SerializeToString()]
+
+  with tf.Session(graph=graph) as sess:
+    # Make sure to re-initialize all underlying state.
+    sess.run(tf.initialize_all_variables())
+    traces = sess.run(
+        dry_run['traces'], feed_dict={dry_run['input_batch']: training_set})
+
+  with open('dragnn_tutorial_1.html', 'w') as f:
+    f.write(visualization.trace_html(traces[0], height='300px').encode('utf-8'))
+
+
+if __name__ == '__main__':
+  tf.app.run()

+ 104 - 0
syntaxnet/examples/dragnn/tutorial_2.py

@@ -0,0 +1,104 @@
+"""Second example: separate tagger and parser."""
+from __future__ import absolute_import
+from __future__ import division
+from __future__ import print_function
+
+import os.path
+
+import tensorflow as tf
+from google.protobuf import text_format
+from dragnn.protos import spec_pb2
+from dragnn.python import graph_builder
+from dragnn.python import lexicon
+from dragnn.python import spec_builder
+from dragnn.python import visualization
+from syntaxnet import sentence_pb2
+
+import dragnn.python.load_dragnn_cc_impl
+import syntaxnet.load_parser_ops
+
+data_dir = os.path.join(
+    os.path.dirname(os.path.abspath(__file__)), 'tutorial_data')
+lexicon_dir = '/tmp/tutorial/lexicon'
+training_sentence = os.path.join(data_dir, 'sentence.prototext')
+if not os.path.isdir(lexicon_dir):
+  os.makedirs(lexicon_dir)
+
+
+def main(argv):
+  del argv  # unused
+  # Constructs lexical resources for SyntaxNet in the given resource path, from
+  # the training data.
+  lexicon.build_lexicon(
+      lexicon_dir,
+      training_sentence,
+      training_corpus_format='sentence-prototext')
+
+  # Construct the ComponentSpec for tagging. This is a simple left-to-right RNN
+  # sequence tagger.
+  tagger = spec_builder.ComponentSpecBuilder('tagger')
+  tagger.set_network_unit(name='FeedForwardNetwork', hidden_layer_sizes='256')
+  tagger.set_transition_system(name='tagger')
+  tagger.add_fixed_feature(name='words', fml='input.word', embedding_dim=64)
+  tagger.add_rnn_link(embedding_dim=-1)
+  tagger.fill_from_resources(lexicon_dir)
+
+  # Construct the ComponentSpec for parsing.
+  parser = spec_builder.ComponentSpecBuilder('parser')
+  parser.set_network_unit(
+      name='FeedForwardNetwork',
+      hidden_layer_sizes='256',
+      layer_norm_hidden='True')
+  parser.set_transition_system(name='arc-standard')
+  parser.add_token_link(
+      source=tagger,
+      fml='input.focus stack.focus stack(1).focus',
+      embedding_dim=32,
+      source_layer='logits')
+
+  # Recurrent connection for the arc-standard parser. For both tokens on the
+  # stack, we connect to the last time step to either SHIFT or REDUCE that
+  # token. This allows the parser to build up compositional representations of
+  # phrases.
+  parser.add_link(
+      source=parser,  # recurrent connection
+      name='rnn-stack',  # unique identifier
+      fml='stack.focus stack(1).focus',  # look for both stack tokens
+      source_translator='shift-reduce-step',  # maps token indices -> step
+      embedding_dim=32)  # project down to 32 dims
+  parser.fill_from_resources(lexicon_dir)
+
+  master_spec = spec_pb2.MasterSpec()
+  master_spec.component.extend([tagger.spec, parser.spec])
+
+  hyperparam_config = spec_pb2.GridPoint()
+
+  # Build the TensorFlow graph.
+  graph = tf.Graph()
+  with graph.as_default():
+    builder = graph_builder.MasterBuilder(master_spec, hyperparam_config)
+
+    target = spec_pb2.TrainTarget()
+    target.name = 'all'
+    target.unroll_using_oracle.extend([True, True])
+    dry_run = builder.add_training_from_config(target, trace_only=True)
+
+  # Read in serialized protos from training data.
+  sentence = sentence_pb2.Sentence()
+  text_format.Merge(open(training_sentence).read(), sentence)
+  training_set = [sentence.SerializeToString()]
+
+  with tf.Session(graph=graph) as sess:
+    # Make sure to re-initialize all underlying state.
+    sess.run(tf.initialize_all_variables())
+    traces = sess.run(
+        dry_run['traces'], feed_dict={dry_run['input_batch']: training_set})
+
+  with open('dragnn_tutorial_2.html', 'w') as f:
+    f.write(
+        visualization.trace_html(
+            traces[0], height='400px', master_spec=master_spec).encode('utf-8'))
+
+
+if __name__ == '__main__':
+  tf.app.run()

+ 90 - 0
syntaxnet/examples/dragnn/tutorial_data/sentence.prototext

@@ -0,0 +1,90 @@
+text: "fair enough; you people have eaten me."
+token {
+  word: "fair"
+  start: 0
+  end: 3
+  tag: "JJ"
+  category: "ADJ"
+  label: "ROOT"
+  break_level: NO_BREAK
+}
+token {
+  word: "enough"
+  start: 5
+  end: 10
+  head: 0
+  tag: "RB"
+  category: "ADV"
+  label: "advmod"
+  break_level: SPACE_BREAK
+}
+token {
+  word: ";"
+  start: 11
+  end: 11
+  head: 0
+  tag: ":"
+  category: "."
+  label: "p"
+  break_level: NO_BREAK
+}
+token {
+  word: "you"
+  start: 13
+  end: 15
+  head: 4
+  tag: "PRP"
+  category: "PRON"
+  label: "dep"
+  break_level: SPACE_BREAK
+}
+token {
+  word: "people"
+  start: 17
+  end: 22
+  head: 6
+  tag: "NNS"
+  category: "NOUN"
+  label: "nsubj"
+  break_level: SPACE_BREAK
+}
+token {
+  word: "have"
+  start: 24
+  end: 27
+  head: 6
+  tag: "VBP"
+  category: "VERB"
+  label: "aux"
+  break_level: SPACE_BREAK
+}
+token {
+  word: "eaten"
+  start: 29
+  end: 33
+  head: 0
+  tag: "VBN"
+  category: "VERB"
+  label: "parataxis"
+  break_level: SPACE_BREAK
+}
+token {
+  word: "me"
+  start: 35
+  end: 36
+  head: 6
+  tag: "PRP"
+  category: "PRON"
+  label: "dobj"
+  break_level: SPACE_BREAK
+}
+token {
+  word: "."
+  start: 37
+  end: 37
+  head: 0
+  tag: "."
+  category: "."
+  label: "p"
+  break_level: NO_BREAK
+}

BIN
syntaxnet/ff_nn_schematic.png


+ 1 - 2
syntaxnet/g3doc/CLOUD.md

@@ -79,8 +79,7 @@ Run this command to download and run the container, setting up the port
 forwarding to be able to access the notebook.
 
 ```shell
-docker load -i <path to container file>
-docker run --rm -ti -p 8888:8888 dragnn
+sudo docker run --rm -ti -p 8888:8888 tensorflow/syntaxnet
 ```
 
 ### 7. Connect to the server, load the IPython Notebook

+ 74 - 72
syntaxnet/g3doc/conll2017/README.md

@@ -5,86 +5,88 @@ on Dependency Parsing](http://universaldependencies.org/conll17/). Note that we
 are providing detailed tutorials to make it easier to use DRAGNN as a platform
 for improving upon the baselines.
 
-Please see our [paper](paper.pdf) more technical details about the model.
+Please see our [paper](paper.pdf) for more technical details about the model.
 
 ## Running the baselines
 
 *   Install SyntaxNet/DRAGNN following the install instructions.
-*   Download the models [here](https://drive.google.com/file/d/0BxpbZGYVZsEeSFdrUnBNMUp1YzQ/view?usp=sharing)
-*   Download the contest [data and tools](http://universaldependencies.org/conll17/)
+*   Download the models
+    [here](https://drive.google.com/file/d/0BxpbZGYVZsEeSFdrUnBNMUp1YzQ/view?usp=sharing)
+*   Download the contest [data and
+    tools](http://universaldependencies.org/conll17/)
 *   Run the baseline_eval.py to run the pre-trained tokenizer and evaluate on
     the dev set.
 
-You should obtain the following results on the dev sets with gold
-segmentation. Note: Our segmenter does not split multi-word tokens, which may
-not play nice (yet) the official evaluation script.
+You should obtain the following results on the dev sets with gold segmentation.
+Note: Our segmenter does not split multi-word tokens, which may not play nice
+(yet) with the official evaluation script.
 
-| Language | UAS | LAS |
-| -------- | :--------: | :-------------: |
-| Ancient_Greek-PROIEL | 81.52	| 76.87 |
-| Ancient_Greek	| 70.96	| 65.13 |
-| Arabic	| 84.79	| 78.90 |
-| Basque	| 80.96	| 77.19 |
-| Bulgarian	| 91.33	| 86.77 |
-| Catalan	| 91.32	| 88.76 |
-| Chinese	| 77.56	| 71.96 |
-| Croatian	| 86.62	| 81.84 |
-| Czech-CAC	| 89.99	| 86.09 |
-| Czech-CLTT	| 78.25	| 73.70 |
-| Czech	| 89.55	| 85.23 |
-| Danish	| 84.69	| 81.36 |
-| Dutch-LassySmall | 84.12	| 80.85 |
-| Dutch	| 86.68	| 81.91 |
-| English-LinES	| 82.43	| 78.46 |
-| English-ParTUT	| 83.55	| 79.00 |
-| English	| 87.60	| 84.20 |
-| Estonian	| 75.77	| 67.76 |
-| Finnish-FTB	| 87.54	| 83.70 |
-| Finnish	| 87.05	| 83.33 |
-| French-ParTUT	| 85.12	| 80.79 |
-| French-Sequoia	| 87.90	| 85.74 |
-| French	| 91.05	| 88.48 |
-| Galician-TreeGal | 75.26	| 69.50 |
-| Galician	| 84.64	| 81.58 |
-| German	| 85.53	| 81.27 |
-| Gothic	| 81.79	| 74.99 |
-| Greek	| 86.99	| 84.23 |
-| Hebrew	| 87.79	| 82.18 |
-| Hindi	| 93.73	| 90.10 |
-| Hungarian	| 78.68	| 73.03 |
-| Indonesian	| 83.02	| 76.51 |
-| Irish	| 75.02	| 65.66 |
-| Italian-ParTUT	| 85.09	| 80.90 |
-| Italian	| 90.73	| 87.71 |
-| Japanese	| 95.33	| 93.99 |
-| Kazakh	| 28.09	| 7.87 |
-| Korean	| 81.21	| 76.78 |
-| Latin-ITTB	| 82.86	| 78.43 |
-| Latin-PROIEL	| 79.52	| 73.58 |
-| Latin	| 64.72	| 54.59 |
-| Latvian	| 76.17	| 70.55 |
-| Norwegian-Bokmaal | 91.23	| 88.79 |
-| Norwegian-Nynorsk | 89.32	| 86.67 |
-| Old_Church_Slavonic | 84.96	| 79.65 |
-| Persian	| 87.70	| 83.98 |
-| Polish	| 91.32	| 86.83 |
-| Portuguese-BR	| 92.36	| 90.60 |
-| Portuguese	| 90.60	| 88.12 |
-| Romanian	| 89.41	| 83.00 |
-| Russian-SynTagRus | 91.51	| 89.05 |
-| Russian	| 85.18	| 80.71 |
-| Slovak	| 88.08	| 82.64 |
-| Slovenian-SST	| 66.77	| 59.38 |
-| Slovenian	| 89.85	| 87.62 |
-| Spanish-AnCora | 91.02	| 88.61 |
-| Spanish	| 90.32	| 87.16 |
-| Swedish-LinES	| 83.67	| 78.96 |
-| Swedish	| 82.45	| 78.75 |
-| Turkish	| 68.81	| 60.57 |
-| Ukrainian	| 72.19	| 62.79 |
-| Urdu	| 85.50	| 79.19 |
-| Uyghur	| 69.23	| 43.27 |
-| Vietnamese	| 65.18	| 55.61 |
+Language             | UAS   | LAS
+-------------------- | :---: | :---:
+Ancient_Greek-PROIEL | 81.52 | 76.87
+Ancient_Greek        | 70.96 | 65.13
+Arabic               | 84.79 | 78.90
+Basque               | 80.96 | 77.19
+Bulgarian            | 91.33 | 86.77
+Catalan              | 91.32 | 88.76
+Chinese              | 77.56 | 71.96
+Croatian             | 86.62 | 81.84
+Czech-CAC            | 89.99 | 86.09
+Czech-CLTT           | 78.25 | 73.70
+Czech                | 89.55 | 85.23
+Danish               | 84.69 | 81.36
+Dutch-LassySmall     | 84.12 | 80.85
+Dutch                | 86.68 | 81.91
+English-LinES        | 82.43 | 78.46
+English-ParTUT       | 83.55 | 79.00
+English              | 87.60 | 84.20
+Estonian             | 75.77 | 67.76
+Finnish-FTB          | 87.54 | 83.70
+Finnish              | 87.05 | 83.33
+French-ParTUT        | 85.12 | 80.79
+French-Sequoia       | 87.90 | 85.74
+French               | 91.05 | 88.48
+Galician-TreeGal     | 75.26 | 69.50
+Galician             | 84.64 | 81.58
+German               | 85.53 | 81.27
+Gothic               | 81.79 | 74.99
+Greek                | 86.99 | 84.23
+Hebrew               | 87.79 | 82.18
+Hindi                | 93.73 | 90.10
+Hungarian            | 78.68 | 73.03
+Indonesian           | 83.02 | 76.51
+Irish                | 75.02 | 65.66
+Italian-ParTUT       | 85.09 | 80.90
+Italian              | 90.73 | 87.71
+Japanese             | 95.33 | 93.99
+Kazakh               | 28.09 | 7.87
+Korean               | 81.21 | 76.78
+Latin-ITTB           | 82.86 | 78.43
+Latin-PROIEL         | 79.52 | 73.58
+Latin                | 64.72 | 54.59
+Latvian              | 76.17 | 70.55
+Norwegian-Bokmaal    | 91.23 | 88.79
+Norwegian-Nynorsk    | 89.32 | 86.67
+Old_Church_Slavonic  | 84.96 | 79.65
+Persian              | 87.70 | 83.98
+Polish               | 91.32 | 86.83
+Portuguese-BR        | 92.36 | 90.60
+Portuguese           | 90.60 | 88.12
+Romanian             | 89.41 | 83.00
+Russian-SynTagRus    | 91.51 | 89.05
+Russian              | 85.18 | 80.71
+Slovak               | 88.08 | 82.64
+Slovenian-SST        | 66.77 | 59.38
+Slovenian            | 89.85 | 87.62
+Spanish-AnCora       | 91.02 | 88.61
+Spanish              | 90.32 | 87.16
+Swedish-LinES        | 83.67 | 78.96
+Swedish              | 82.45 | 78.75
+Turkish              | 68.81 | 60.57
+Ukrainian            | 72.19 | 62.79
+Urdu                 | 85.50 | 79.19
+Uyghur               | 69.23 | 43.27
+Vietnamese           | 65.18 | 55.61
 
 ## Using DRAGNN for developing your own models
 

+ 2 - 2
syntaxnet/g3doc/conll2017/cooking.md

@@ -21,8 +21,8 @@ _First, assemble your network inside your DRAGNN dish:_
     spatula to mark the word boundaries for the rest of the model.
 *   Next, lay the second LSTM backwards across the top of the first. Don't
     forget to project the hidden layer down by 1/4 with each LSTM you add to the
-    pan. Remember, you only need to put a LSTM cell down just once for each word
-    you marked in the previous step.
+    pan. Remember, you only need to put an LSTM cell down just once for each
+    word you marked in the previous step.
 *   Now lay down your final LSTM running in the forwards direction. Sprinkle
     with POS tags at a ratio of 1:8.
 *   Finally, gently put the feed-forward cell down on top. Carefully braid the

BIN
syntaxnet/looping-parser.gif


BIN
syntaxnet/sawman.png


+ 0 - 0
syntaxnet/syntaxnet/demo.sh


+ 0 - 104
syntaxnet/universal.md

@@ -1,104 +0,0 @@
-# Parsey's Cousins.
-
-A collection of pretrained syntactic models is now available for download at
-`http://download.tensorflow.org/models/parsey_universal/<language>.zip`
-
-After downloading and unzipping a model, you can run it similarly to
-Parsey McParseface with:
-
-```shell
-  MODEL_DIRECTORY=/where/you/unzipped/the/model/files
-  cat sentences.txt | syntaxnet/models/parsey_universal/parse.sh \
-    $MODEL_DIRECTORY > output.conll
-```
-
-These models are trained on
-[Universal Dependencies](http://universaldependencies.org/) datasets v1.3.
-The following table shows their accuracy on Universal
-Dependencies test sets for different types of annotations.
-
-Language | No. tokens | POS | fPOS | Morph | UAS | LAS
---------  | :--: | :--: | :--: | :--: | :--: | :--: | :--:
-Ancient_Greek-PROIEL | 18502 | 97.14% | 96.97% | 89.77% | 78.74% | 73.15%
-Ancient_Greek | 25251 | 93.22% | 84.22% | 90.01% | 68.98% | 62.07%
-Arabic | 28268 | 95.65% | 91.03% | 91.23% | 81.49% | 75.82%
-Basque | 24374 | 94.88% | - | 87.82% | 78.00% | 73.36%
-Bulgarian | 15734 | 97.71% | 95.14% | 94.61% | 89.35% | 85.01%
-Catalan | 59503 | 98.06% | 98.06% | 97.56% | 90.47% | 87.64%
-Chinese | 12012 | 91.32% | 90.89% | 98.76% | 76.71% | 71.24%
-Croatian | 4125 | 94.67% | - | 86.69% | 80.65% | 74.06%
-Czech-CAC | 10862 | 98.11% | 92.43% | 91.43% | 87.28% | 83.44%
-Czech-CLTT | 4105 | 95.79% | 87.36% | 86.33% | 77.34% | 73.40%
-Czech | 173920 | 98.12% | 93.76% | 93.13% | 89.47% | 85.93%
-Danish | 5884 | 95.28% | - | 95.24% | 79.84% | 76.34%
-Dutch-LassySmall | 4562 | 95.62% | - | 95.44% | 81.63% | 78.08%
-Dutch | 5843 | 89.89% | 86.03% | 89.12% | 77.70% | 71.21%
-English-LinES | 8481 | 95.34% | 93.11% | - | 81.50% | 77.37%
-English | 25096 | 90.48% | 89.71% | 91.30% | 84.79% | 80.38%
-Estonian | 23670 | 95.92% | 96.76% | 92.73% | 83.10% | 78.83%
-Finnish-FTB | 16286 | 93.50% | 91.15% | 92.44% | 84.97% | 80.48%
-Finnish | 9140 | 94.78% | 95.84% | 92.42% | 83.65% | 79.60%
-French | 7018 | 96.27% | - | 96.05% | 84.68% | 81.05%
-Galician | 29746 | 96.81% | 96.14% | - | 84.48% | 81.35%
-German | 16268 | 91.79% | - | - | 79.73% | 74.07%
-Gothic | 5158 | 95.58% | 96.03% | 87.32% | 79.33% | 71.69%
-Greek | 5668 | 97.48% | 97.48% | 92.70% | 83.68% | 79.99%
-Hebrew | 12125 | 95.04% | 95.04% | 92.05% | 84.61% | 78.71%
-Hindi | 35430 | 96.45% | 95.77% | 90.98% | 93.04% | 89.32%
-Hungarian | 4235 | 94.00% | - | 75.68% | 78.75% | 71.83%
-Indonesian | 11780 | 92.62% | - | - | 80.03% | 72.99%
-Irish | 3821 | 91.34% | 89.95% | 77.07% | 74.51% | 66.29%
-Italian | 10952 | 97.31% | 97.18% | 97.27% | 89.81% | 87.13%
-Kazakh | 587 | 75.47% | 75.13% | - | 58.09% | 43.95%
-Latin-ITTB | 6548 | 97.98% | 92.68% | 93.52% | 84.22% | 81.17%
-Latin-PROIEL | 14906 | 96.50% | 96.08% | 88.39% | 77.60% | 70.98%
-Latin | 4832 | 88.04% | 74.07% | 76.03% | 56.00% | 45.80%
-Latvian | 3985 | 80.95% | 66.60% | 73.60% | 58.92% | 51.47%
-Norwegian | 30034 | 97.44% | - | 95.58% | 88.61% | 86.22%
-Old_Church_Slavonic | 5079 | 96.50% | 96.28% | 89.43% | 84.86% | 78.85%
-Persian | 16022 | 96.20% | 95.72% | 95.90% | 84.42% | 80.28%
-Polish | 7185 | 95.05% | 85.83% | 86.12% | 88.30% | 82.71%
-Portuguese-BR | 29438 | 97.07% | 97.07% | 99.91% | 87.91% | 85.44%
-Portuguese | 6262 | 96.81% | 90.67% | 94.22% | 85.12% | 81.28%
-Romanian | 18375 | 95.26% | 91.66% | 91.98% | 83.64% | 75.36%
-Russian-SynTagRus | 107737 | 98.27% | - | 94.91% | 91.68% | 87.44%
-Russian | 9573 | 95.27% | 95.02% | 87.75% | 81.75% | 77.71%
-Slovenian-SST | 2951 | 90.00% | 84.48% | 84.38% | 65.06% | 56.96%
-Slovenian | 14063 | 96.22% | 90.46% | 90.35% | 87.71% | 84.60%
-Spanish-AnCora | 53594 | 98.28% | 98.28% | 97.82% | 89.26% | 86.50%
-Spanish | 7953 | 95.27% | - | 95.74% | 85.06% | 81.53%
-Swedish-LinES | 8228 | 96.00% | 93.77% | - | 81.38% | 77.21%
-Swedish | 20377 | 96.27% | 94.13% | 94.14% | 83.84% | 80.28%
-Tamil | 1989 | 79.29% | 71.79% | 75.97% | 64.45% | 55.35%
-Turkish | 8616 | 93.63% | 92.62% | 86.79% | 82.00% | 71.37%
-**Average** | - | 94.27% | 92.93% | 90.38% | 81.12% | 75.85%
-
-These results are obtained using gold text segmentation. Accuracies are measured
-over all tokens, including punctuation. `POS`, `fPOS` are coarse and fine
-part-of-speech tagging accuracies. `Morph` is full-token accuracy of predicted
-morphological attributes. `UAS` and `LAS` are unlabeled and labeled attachment
-scores.
-
-Many of these models also support text segmentation, with:
-
-```shell
-  MODEL_DIRECTORY=/where/you/unzipped/the/model/files
-  cat sentences.txt | syntaxnet/models/parsey_universal/tokenize.sh \
-    $MODEL_DIRECTORY > output.conll
-```
-
-Text segmentation is currently available for:
-`Bulgarian`, `Czech`, `German`, `Greek`, `English`, `Spanish`, `Estonian`,
-`Basque`, `Persian`, `Finnish`, `Finnish-FTB`, `French`, `Galician`,
-`Ancient_Greek`, `Ancient_Greek-PROIEL`, `Hebrew`, `Hindi`, `Croatian`,
-`Hungarian`, `Indonesian`, `Italian`, `Latin`, `Latin-PROIEL`, `Dutch`,
-`Norwegian`, `Polish`, `Portuguese`, `Slovenian`, `Swedish`, `Tamil`.
-
-For `Chinese` (traditional) we use a larger text segmentation
-model, which can be run with:
-
-```shell
-  MODEL_DIRECTORY=/where/you/unzipped/the/model/files
-  cat sentences.txt | syntaxnet/models/parsey_universal/tokenize_zh.sh \
-    $MODEL_DIRECTORY > output.conll
-```