natural 0.2.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/.npmignore +4 -11
  2. package/README.md +156 -41
  3. package/bayes_classifier.json +1 -0
  4. package/lib/natural/brill_pos_tagger/data/Dutch/README.txt +2 -0
  5. package/lib/natural/brill_pos_tagger/data/Dutch/brill_CONTEXTRULES.jg +285 -0
  6. package/lib/natural/brill_pos_tagger/data/Dutch/brill_LEXICON.jg +11699 -0
  7. package/lib/natural/brill_pos_tagger/data/English/README.txt +8 -0
  8. package/lib/natural/brill_pos_tagger/data/English/lexicon_from_posjs.json +297827 -0
  9. package/lib/natural/brill_pos_tagger/data/English/tr_from_brill_paper.txt +10 -0
  10. package/lib/natural/brill_pos_tagger/data/English/tr_from_posjs.txt +18 -0
  11. package/lib/natural/brill_pos_tagger/lib/Brill_POS_Tagger.js +136 -0
  12. package/lib/natural/brill_pos_tagger/lib/Predicate.js +410 -0
  13. package/lib/natural/brill_pos_tagger/lib/TF_Parser.js +717 -0
  14. package/lib/natural/brill_pos_tagger/lib/TF_Parser.pegjs +55 -0
  15. package/lib/natural/brill_pos_tagger/lib/TransformationRule.js +49 -0
  16. package/lib/natural/classifiers/bayes_classifier.js +6 -5
  17. package/lib/natural/classifiers/classifier.js +3 -2
  18. package/lib/natural/classifiers/logistic_regression_classifier.js +9 -5
  19. package/lib/natural/distance/dice_coefficient.js +22 -12
  20. package/lib/natural/index.js +6 -0
  21. package/lib/natural/ngrams/ngrams.js +4 -0
  22. package/lib/natural/stemmers/stemmer.js +31 -6
  23. package/lib/natural/tokenizers/regexp_tokenizer.js +3 -3
  24. package/{examples/inflection/noun.js → lib/natural/tokenizers/sentence_tokenizer.js} +14 -10
  25. package/lib/natural/tokenizers/tokenizer_case.js +58 -0
  26. package/lib/natural/util/bag.js +1 -0
  27. package/lib/natural/wordnet/wordnet.js +2 -2
  28. package/lib/natural/wordnet/wordnet_file.js +1 -1
  29. package/lr_classifier.json +1 -0
  30. package/package.json +6 -3
  31. package/package.json~ +66 -0
  32. package/benchmarks/index.js +0 -32
  33. package/benchmarks/metaphone.js +0 -27
  34. package/benchmarks/soundex.js +0 -27
  35. package/examples/classification/basic.js +0 -35
  36. package/examples/classification/recall.js +0 -28
  37. package/examples/classification/store.js +0 -37
  38. package/examples/inflection/count.js +0 -35
  39. package/examples/inflection/noun_attach.js +0 -33
  40. package/examples/phonetics/compare.js +0 -39
  41. package/examples/phonetics/sounds_like.js +0 -40
  42. package/examples/phonetics/tokenize_and_phoneticize.js +0 -54
  43. package/examples/stemming/stem_corpus.js +0 -29
  44. package/examples/stemming/stem_word.js +0 -26
  45. package/examples/tfidf/array_example.js +0 -34
  46. package/examples/tfidf/multiple_terms.js +0 -33
  47. package/examples/tfidf/tfidf_example.js +0 -44
  48. package/io_spec/test_data/tfidf/one +0 -1
  49. package/io_spec/test_data/tfidf/two +0 -1
  50. package/io_spec/tfidf_spec.js +0 -50
  51. package/io_spec/wordnet_spec.js +0 -81
  52. package/spec/aggressive_tokenizer_es_spec.js +0 -36
  53. package/spec/aggressive_tokenizer_fr_spec.js +0 -101
  54. package/spec/aggressive_tokenizer_nl_spec.js +0 -36
  55. package/spec/aggressive_tokenizer_pt_spec.js +0 -56
  56. package/spec/aggressive_tokenizer_spec.js +0 -56
  57. package/spec/bayes_classifier_spec.js +0 -173
  58. package/spec/classifier_spec.js +0 -175
  59. package/spec/count_inflector_fr_spec.js +0 -44
  60. package/spec/count_inflector_spec.js +0 -73
  61. package/spec/dice_coefficient_spec.js +0 -26
  62. package/spec/double_metaphone_spec.js +0 -752
  63. package/spec/jaro-winkler_spec.js +0 -53
  64. package/spec/lancaster_stemmer_spec.js +0 -73
  65. package/spec/levenshtein_spec.js +0 -66
  66. package/spec/logistic_regression_classifier_spec.js +0 -122
  67. package/spec/longest_path_tree_spec.js +0 -102
  68. package/spec/metaphone_spec.js +0 -252
  69. package/spec/ngram_spec.js +0 -130
  70. package/spec/ngram_zh_spec.js +0 -122
  71. package/spec/normalizer_ja_spec.js +0 -160
  72. package/spec/normalizer_no_spec.js +0 -111
  73. package/spec/normalizer_spec.js +0 -140
  74. package/spec/noun_inflector_fr_spec.js +0 -476
  75. package/spec/noun_inflector_ja_spec.js +0 -112
  76. package/spec/noun_inflector_spec.js +0 -270
  77. package/spec/porter_stemmer_fr_spec.js +0 -101
  78. package/spec/porter_stemmer_it_spec.js +0 -44
  79. package/spec/porter_stemmer_no_spec.js +0 -143
  80. package/spec/porter_stemmer_pt_spec.js +0 -50
  81. package/spec/porter_stemmer_ru_spec.js +0 -63
  82. package/spec/porter_stemmer_spec.js +0 -182
  83. package/spec/present_verb_inflector_spec.js +0 -128
  84. package/spec/remove_diacritics_spec.js +0 -31
  85. package/spec/sentence_analyzer_spec.js +0 -277
  86. package/spec/shortest_path_tree_spec.js +0 -132
  87. package/spec/soundex_spec.js +0 -158
  88. package/spec/spellcheck_spec.js +0 -92
  89. package/spec/stemmer_ja_spec.js +0 -66
  90. package/spec/stemmer_token_spec.js +0 -161
  91. package/spec/test_data/snowball_fr.txt +0 -20402
  92. package/spec/test_data/snowball_it.txt +0 -35482
  93. package/spec/test_data/snowball_no.txt +0 -20628
  94. package/spec/test_data/snowball_pt.txt +0 -32016
  95. package/spec/test_data/tfdif_testcorpus.txt +0 -7
  96. package/spec/test_data/tfidf_document1.txt +0 -1
  97. package/spec/test_data/tfidf_document2.txt +0 -1
  98. package/spec/test_data/tfidf_document3.txt +0 -1
  99. package/spec/test_data/tfidf_document4.txt +0 -1
  100. package/spec/test_data/tfidf_teststopwords.txt +0 -1
  101. package/spec/test_data/wordnet_mini.sql +0 -95
  102. package/spec/tfidf_spec.js +0 -323
  103. package/spec/tokenizer_ja_spec.js +0 -58
  104. package/spec/transliterator_ja_spec.js +0 -103
  105. package/spec/treebank_word_tokenizer_spec.js +0 -36
  106. package/spec/trie_spec.js +0 -206
package/.npmignore CHANGED
@@ -1,11 +1,4 @@
1
- *~
2
- \#*
3
- *.kpf
4
- *classifier.json
5
- node_modules
6
- io_spec/test_data/wordnet/download/*
7
- *.noun
8
- *.verb
9
- *.adj
10
- *.adv
11
- npm-debug.log
1
+ benchmarks
2
+ spec
3
+ examples
4
+ io_spec
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  natural
2
2
  =======
3
3
 
4
+ [![NPM version](https://img.shields.io/npm/v/natural.svg)](https://www.npmjs.com/package/natural)
4
5
  [![Build Status](https://travis-ci.org/NaturalNode/natural.png?branch=master)](https://travis-ci.org/NaturalNode/natural)
5
6
 
6
7
  "Natural" is a general natural language facility for nodejs. Tokenizing,
@@ -18,8 +19,30 @@ will be in order. Thanks to Polyakov Vladimir, Russian stemming has been added!,
18
19
 
19
20
  Aside from this README, the only documentation is [this DZone article](http://www.dzone.com/links/r/using_natural_a_nlp_module_for_nodejs.html) and [here on my blog](http://www.chrisumbel.com/article/node_js_natural_language_porter_stemmer_lancaster_bayes_naive_metaphone_soundex), which is a bit older.
20
21
 
21
- Installation
22
- ------------
22
+ ### TABLE OF CONTENTS
23
+
24
+ * [Installation](#installation)
25
+ * [Tokenizers](#tokenizers)
26
+ * [String Distance](#string-distance)
27
+ * [Stemmers](#stemmers)
28
+ * [Classifiers](#classifiers)
29
+ * [Phonetics](#phonetics)
30
+ * [Inflectors](#inflectors)
31
+ * [N-Grams](#n-grams)
32
+ * [tf-idf](#tf-idf)
33
+ * [Tries](#tries)
34
+ * [EdgeWeightedDigraph](#edgeweighteddigraph)
35
+ * [ShortestPathTree](#shortestpathtree)
36
+ * [LongestPathTree](#longestpathtree)
37
+ * [WordNet](#wordnet)
38
+ * [Spellcheck](#spellcheck)
39
+ * [POS Tagger](#pos-tagger)
40
+ * [Acknowledgements/references](#acknowledgements-and-references)
41
+ * [Development](#development)
42
+ * [License](#license)
43
+
44
+
45
+ ## Installation
23
46
 
24
47
  If you're just looking to use natural without your own node application,
25
48
  you can install via NPM like so:
@@ -29,8 +52,7 @@ you can install via NPM like so:
29
52
  If you're interested in contributing to natural, or just hacking on it, then by all
30
53
  means fork away!
31
54
 
32
- Tokenizers
33
- ----------
55
+ ## Tokenizers
34
56
 
35
57
  Word, Regexp, and [Treebank tokenizers](http://www.cis.upenn.edu/~treebank/tokenization.html) are provided for breaking text up into
36
58
  arrays of tokens:
@@ -58,8 +80,8 @@ console.log(tokenizer.tokenize("my dog hasn't any fleas."));
58
80
  // [ 'my', 'dog', 'hasn', '\'', 't', 'any', 'fleas', '.' ]
59
81
  ```
60
82
 
61
- String Distance
62
- ----------------------
83
+ ## String Distance
84
+
63
85
  Natural provides an implementation of the [Jaro–Winkler](http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance) string distance measuring algorithm.
64
86
  This will return a number between 0 and 1 which tells how closely the strings match (0 = not at all, 1 = exact match):
65
87
 
@@ -122,8 +144,7 @@ Output:
122
144
  0
123
145
  ```
124
146
 
125
- Stemmers
126
- --------
147
+ ## Stemmers
127
148
 
128
149
  Currently stemming is supported via the [Porter](http://tartarus.org/martin/PorterStemmer/index.html) and [Lancaster](http://www.comp.lancs.ac.uk/computing/research/stemming/) (Paice/Husk) algorithms.
129
150
 
@@ -167,8 +188,7 @@ console.log("i am waking up to the sounds of chainsaws".tokenizeAndStem());
167
188
  console.log("chainsaws".stem());
168
189
  ```
169
190
 
170
- Classifiers
171
- ----------------------
191
+ ## Classifiers
172
192
 
173
193
  Two classifiers are currently supported, [Naive Bayes](http://en.wikipedia.org/wiki/Naive_Bayes_classifier) and [logistic regression](http://en.wikipedia.org/wiki/Logistic_regression).
174
194
  The following examples use the BayesClassifier class, but the
@@ -234,7 +254,8 @@ The training process can be monitored by subscribing to the event `trainedWithDo
234
254
  * total: 23 // There are 23 total documents being trained against
235
255
  * index: 12 // The index/number of the document that's just been trained against
236
256
  * doc: {...} // The document that has just been indexed
237
- */ }
257
+ * }
258
+ */
238
259
  });
239
260
 
240
261
  A classifier can also be persisted and recalled so you can reuse a training
@@ -268,8 +289,7 @@ var restoredClassifier = natural.BayesClassifier.restore(JSON.parse(raw));
268
289
  console.log(restoredClassifier.classify('i should sell that'));
269
290
  ```
270
291
 
271
- Phonetics
272
- ---------
292
+ ## Phonetics
273
293
 
274
294
  Phonetic matching (sounds-like) matching can be done with the [SoundEx](http://en.wikipedia.org/wiki/Soundex),
275
295
  [Metaphone](http://en.wikipedia.org/wiki/Metaphone) or [DoubleMetaphone](http://en.wikipedia.org/wiki/Metaphone#Double_Metaphone) algorithms
@@ -356,8 +376,7 @@ if(wordA.soundsLike(wordB))
356
376
  console.log('phonetics'.phonetics());
357
377
  ```
358
378
 
359
- Inflectors
360
- ----------
379
+ ## Inflectors
361
380
 
362
381
  ### Nouns
363
382
 
@@ -442,8 +461,7 @@ console.log('walks'.pluralizePresentVerb());
442
461
  ```
443
462
 
444
463
 
445
- N-Grams
446
- -------
464
+ ## N-Grams
447
465
 
448
466
  n-grams can be obtained for either arrays or strings (which will be tokenized
449
467
  for you):
@@ -534,8 +552,7 @@ console.log(NGramsZH.ngrams(['一', '个', '中', '文', '测',
534
552
  '试'], 4));
535
553
  ```
536
554
 
537
- tf-idf
538
- -----
555
+ ## tf-idf
539
556
 
540
557
  [Term Frequency–Inverse Document Frequency (tf-idf)](http://en.wikipedia.org/wiki/Tf%E2%80%93idf) is implemented to determine how important a word (or words) is to a
541
558
  document relative to a corpus. The following example will add four documents to
@@ -663,8 +680,7 @@ var s = JSON.stringify(tfidf);
663
680
  var tfidf = new TfIdf(JSON.parse(s));
664
681
  ```
665
682
 
666
- Tries
667
- -----
683
+ ## Tries
668
684
 
669
685
  Tries are a very efficient data structure used for prefix-based searches.
670
686
  Natural comes packaged with a basic Trie implementation which can support match collection along a path,
@@ -741,8 +757,8 @@ ciTrie.contains("TEsT"); // true
741
757
  ```
742
758
  In the case of the searches which return strings, all strings returned will be in lower case if you are in case-_in_sensitive mode.
743
759
 
744
- EdgeWeightedDigraph
745
- -------------------
760
+ ## EdgeWeightedDigraph
761
+
746
762
  EdgeWeightedDigraph represents a digraph, you can add an edge, get the number vertexes, edges, get all edges and use toString to print the Digraph.
747
763
 
748
764
  initialize a digraph:
@@ -775,8 +791,7 @@ you will get 5.
775
791
 
776
792
 
777
793
 
778
- ShortestPathTree
779
- ----------------
794
+ ## ShortestPathTree
780
795
 
781
796
  ShortestPathTree represents a data type for solving the single-source shortest paths problem in
782
797
  edge-weighted directed acyclic graphs (DAGs).
@@ -827,8 +842,7 @@ output will be:
827
842
  [5, 4]
828
843
  ```
829
844
 
830
- LongestPathTree
831
- ----------------
845
+ ## LongestPathTree
832
846
 
833
847
  LongestPathTree represents a data type for solving the single-source shortest paths problem in
834
848
  edge-weighted directed acyclic graphs (DAGs).
@@ -879,21 +893,18 @@ output will be:
879
893
  [5, 1, 3, 6, 4]
880
894
  ```
881
895
 
882
- WordNet
883
- -------
896
+ ## WordNet
884
897
 
885
898
  One of the newest and most experimental features in natural is WordNet integration. Here's an
886
899
  example of using natural to look up definitions of the word node. To use the WordNet module,
887
- first install the WordNet database files using the [WNdb module](https://github.com/moos/WNdb):
888
-
889
- npm install WNdb
900
+ first install the WordNet database files using [wordnet-db](https://github.com/moos/wordnet-db):
890
901
 
891
- (For node < v0.6, please use 'npm install WNdb@3.0.0')
902
+ npm install wordnet-db
892
903
 
893
904
  Keep in mind that the WordNet integration is to be considered experimental at this point,
894
- and not production-ready. The API is also subject to change.
905
+ and not production-ready. The API is also subject to change. For an implementation with vastly increased performance, as well as a command-line interface, see [wordpos](https://github.com/moos/wordpos).
895
906
 
896
- Here's an example of looking up definitions for the word, "node".
907
+ Here's an example of looking up definitions for the word "node".
897
908
 
898
909
  ```javascript
899
910
  var wordnet = new natural.WordNet();
@@ -935,8 +946,8 @@ As of v0.1.11, WordNet data files are no longer automatically downloaded.
935
946
 
936
947
  Princeton University "About WordNet." WordNet. Princeton University. 2010. <http://wordnet.princeton.edu>
937
948
 
938
- Spellcheck
939
- ------------
949
+ ## Spellcheck
950
+
940
951
  A probabilistic spellchecker based on http://norvig.com/spell-correct.html
941
952
 
942
953
  This is best constructed with an array of tokens from a corpus, but a simple list of words from a dictionary will work.
@@ -959,9 +970,114 @@ spellcheck.getCorrections('soemthing', 1); // ['something']
959
970
  spellcheck.getCorrections('soemthing', 2); // ['something', 'soothing']
960
971
  ```
961
972
 
973
+ ## POS Tagger
974
+
975
+ This is a part-of-speech tagger based on Eric Brill's transformational
976
+ algorithm. Transformation rules are specified in external files.
977
+
978
+ ### Usage
979
+ ```javascript
980
+ var Tagger = require("./lib/natural").BrillPOSTagger;
981
+
982
+ var base_folder = "some_path/lib/natural/brill_pos_tagger";
983
+ var rules_file = base_folder + "/data/tr_from_posjs.txt";
984
+ var lexicon_file = base_folder + "/data/lexicon_from_posjs.json";
985
+ var default_category = 'N';
986
+
987
+ var tagger = new Tagger(lexicon_file, rules_file, default_category, function(error) {
988
+ if (error) {
989
+ console.log(error);
990
+ }
991
+ else {
992
+ var sentence = ["I", "see", "the", "man", "with", "the", "telescope"];
993
+ console.log(JSON.stringify(tagger.tag(sentence)));
994
+ }
995
+ });
996
+ ```
997
+
998
+ ### Lexicon
999
+ The lexicon is either a JSON file that has the following structure:
1000
+ ```javascript
1001
+ {
1002
+ "word1": ["cat1"],
1003
+ "word2": ["cat2", "cat3"],
1004
+ ...
1005
+ }
1006
+ ```
1007
+ or a text file:
1008
+ ```
1009
+ word1 cat1 cat2
1010
+ word2 cat3
1011
+ ...
1012
+ ```
1013
+ Words may have multiple categories in the lexicon file. The tagger uses only
1014
+ the first category specified.
1015
+
1016
+ ### Specifying transformation rules
1017
+ Transformation rules are specified as follows:
1018
+ ```
1019
+ OLD_CAT NEW_CAT PREDICATE PARAMETER
1020
+ ```
1021
+ This means that if the category of the current position is OLD_CAT and the predicate is true, the category is replaced by NEW_CAT. The predicate
1022
+ may use the parameter in different ways: sometimes the parameter is used for
1023
+ specifying the outcome of the predicate:
1024
+ ```
1025
+ NN CD CURRENT-WORD-IS-NUMBER YES
1026
+ ```
1027
+ This means that if the outcome of predicate CURRENT-WORD-IS-NUMBER is YES, the
1028
+ category is replaced by <code>CD</code>.
1029
+ The parameter can also be used to check the category of a word in the sentence:
1030
+ ```
1031
+ VBD NN PREV-TAG DT
1032
+ ```
1033
+ Here the category of the previous word must be <code>DT</code> for the rule to be applied.
1034
+
1035
+ ### Algorithm
1036
+ The tagger applies transformation rules that may change the category of words. The input sentence must be split into words which are assigned with categories. The tagged sentence is then processed from left to right. At each step all rules are applied once; rules are applied in the order in which they are specified. Algorithm:
1037
+ ```javascript
1038
+ function(sentence) {
1039
+ var tagged_sentence = new Array(sentence.length);
1040
+
1041
+ // snip
1042
+
1043
+ // Apply transformation rules
1044
+ for (var i = 0, size = sentence.length; i < size; i++) {
1045
+ this.transformation_rules.forEach(function(rule) {
1046
+ rule.apply(tagged_sentence, i);
1047
+ });
1048
+ }
1049
+ return(tagged_sentence);
1050
+ }
1051
+ ```
1052
+
1053
+ ### Adding a predicate
1054
+ Predicates are defined in module <code>lib/Predicate.js</code>. In that file
1055
+ a function must be created that serves as predicate. A predicate accepts a
1056
+ tagged sentence, the current position in the sentence that should be tagged, and
1057
+ the
1058
+ outcome(s) of the predicate. An example of a predicate that checks the category of the current word:
1059
+ ```javascript
1060
+ function current_word_is_tag(tagged_sentence, i, parameter) {
1061
+ return(tagged_sentence[i][0] === parameter);
1062
+ }
1063
+ ```
1064
+ Some predicates accept two parameters. Next step is to map a keyword to this predicate so that it can be used in the transformation rules. The mapping is also defined in <code>lib/Predicate.js</code>:
1065
+ ```javascript
1066
+ var predicates = {
1067
+ "CURRENT-WORD-IS-TAG": current_word_is_tag,
1068
+ "PREV-WORD-IS-CAP": prev_word_is_cap
1069
+ }
1070
+ ```
1071
+
1072
+ ### Acknowledgements and References
1073
+ * Part of speech tagger by Percy Wegmann, https://code.google.com/p/jspos/
1074
+ * Node.js version of jspos: https://github.com/neopunisher/pos-js
1075
+ * A simple rule-based part of speech tagger, Eric Brill, Published in: Proceeding ANLC '92 Proceedings of the third conference on Applied natural language processing, Pages 152-155. http://dl.acm.org/citation.cfm?id=974526
1076
+
1077
+
1078
+
1079
+ ## Development
962
1080
 
963
- Development
964
- -----------
965
1081
  When developing, please:
966
1082
 
967
1083
  + Write unit tests
@@ -972,8 +1088,7 @@ The current configuration of the unit tests requires the following environment v
972
1088
  export NODE_PATH=.
973
1089
 
974
1090
 
975
- License
976
- -------
1091
+ ## License
977
1092
 
978
1093
  Copyright (c) 2011, 2012 Chris Umbel, Rob Ellis, Russell Mull
979
1094
 
@@ -0,0 +1 @@
1
+ {"classifier":{"classFeatures":{"computing":{"0":2,"1":2,"2":2,"3":3,"4":2,"5":2},"literature":{"2":2,"6":4,"7":2,"8":2}},"classTotals":{"computing":4,"literature":4},"totalExamples":7,"smoothing":1},"docs":[{"label":"computing","text":["fix","box"]},{"label":"computing","text":["write","code"]},{"label":"computing","text":["nasti","script","code"]},{"label":"literature","text":["write","book"]},{"label":"literature","text":["read","book"]},{"label":"literature","text":["studi","book"]}],"features":{"fix":1,"box":1,"write":2,"code":2,"nasti":1,"script":1,"book":3,"read":1,"studi":1},"stemmer":{},"lastAdded":6,"events":{"domain":null,"_events":{},"_maxListeners":10}}
@@ -0,0 +1,2 @@
1
+ Transformation rules and lexicon are from
2
+ https://mlnl.net/jg/software/bnl/
@@ -0,0 +1,285 @@
1
+ Pron(betr,neut,zelfst) Pron(aanw,neut,attr) PREVTAG Prep(voor)
2
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXT1OR2TAG Adv(gew,geen_func,stell,onverv)
3
+ Pron(onbep,neut,zelfst) Art(bep,onzijd,neut) NEXT1OR2TAG N(soort,ev,neut)
4
+ Prep(voor) Adv(deel_v) NEXT1OR2TAG STAART
5
+ Prep(voor) Adv(deel_v) NEXTTAG Prep(voor_inf)
6
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) PREV1OR2TAG Art(onbep,zijd_of_onzijd,neut)
7
+ Pron(betr,neut,zelfst) Pron(aanw,neut,attr) NEXTTAG N(soort,ev,neut)
8
+ Prep(voor) Adv(deel_v) NEXTTAG Prep(voor)
9
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXTTAG Adv(gew,geen_func,stell,onverv)
10
+ Conj(onder,met_fin) Pron(aanw,neut,attr) NEXTTAG N(soort,ev,neut)
11
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) PREVTAG N(soort,mv,neut)
12
+ Adv(gew,er) Adv(pron,er) WDAND2TAGAFT er Prep(voor)
13
+ Prep(voor) Adv(deel_v) NEXTTAG Punc(komma)
14
+ Conj(neven) Adv(gew,geen_func,stell,onverv) PREVTAG Adv(gew,geen_func,stell,onverv)
15
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXTTAG V(hulp_of_kopp,ott,3,ev)
16
+ Pron(onbep,neut,zelfst) Pron(bez,2,ev,neut,attr) NEXTTAG N(soort,ev,neut)
17
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXT1OR2TAG Art(bep,zijd_of_mv,neut)
18
+ V(hulp,ott,1_of_2_of_3,mv) V(hulp,inf) NEXTTAG V(trans,inf)
19
+ Pron(vrag,neut,attr) Pron(betr,neut,zelfst) PREV1OR2TAG Prep(voor)
20
+ V(hulp,ott,3,ev) V(hulp,ott,1,ev) NEXT1OR2OR3TAG Pron(per,1,ev,nom)
21
+ Pron(betr,neut,zelfst) Pron(aanw,neut,zelfst) PREVTAG Conj(neven)
22
+ Pron(onbep,gen,attr) Adv(gew,geen_func,stell,onverv) CURWD anders
23
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) PREV1OR2OR3TAG N(soort,mv,neut)
24
+ Adv(gew,aanw) Conj(onder,met_fin) PREV1OR2OR3TAG Adv(gew,geen_func,vergr,onverv)
25
+ Adv(gew,geen_func,vergr,onverv) Num(hoofd,onbep,zelfst,vergr,onverv) NEXT1OR2OR3TAG Conj(onder,met_fin)
26
+ Adv(gew,er) Adv(pron,er) NEXT1OR2OR3TAG Adv(deel_v)
27
+ Adv(deel_v) Adv(deel_adv) PREV1OR2OR3TAG Adv(pron,er)
28
+ Prep(voor) Adv(deel_adv) NEXTTAG Punc(punt)
29
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXT1OR2OR3TAG Adv(gew,aanw)
30
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,inf) NEXTTAG Punc(punt)
31
+ Prep(voor_inf) Adv(gew,geen_func,stell,onverv) NEXTTAG Adj(attr,stell,onverv)
32
+ Pron(onbep,neut,zelfst) Art(bep,onzijd,neut) PREV1OR2OR3TAG Prep(voor)
33
+ V(hulp,ott,3,ev) V(hulp,ott,1,ev) PREV1OR2OR3TAG Pron(per,1,ev,nom)
34
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) CURWD werkelijk
35
+ Adv(gew,aanw) Conj(onder,met_fin) PREV1OR2TAG Adj(adv,vergr,onverv)
36
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,inf) NEXTTAG Punc(komma)
37
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) PREVTAG Conj(neven)
38
+ N(soort,ev,neut) Adj(attr,stell,onverv) SURROUNDTAG Art(onbep,zijd_of_onzijd,neut) N(soort,ev,neut)
39
+ V(trans,inf) V(trans,ott,1_of_2_of_3,mv) PREV1OR2OR3TAG Punc(komma)
40
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXTTAG Prep(voor)
41
+ V(intrans,inf) V(intrans,ott,1_of_2_of_3,mv) PREV1OR2TAG STAART
42
+ Adj(attr,stell,verv_neut) N(soort,ev,neut) NEXTTAG Prep(voor)
43
+ N(soort,ev,neut) V(trans,ott,1,ev) PREVTAG Pron(per,1,ev,nom)
44
+ Pron(per,1,ev,dat_of_acc) Pron(ref,1,ev) PREV1OR2TAG Pron(per,1,ev,nom)
45
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) PREVTAG V(hulp_of_kopp,ott,3,ev)
46
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXT1OR2TAG Adv(gew,aanw)
47
+ Adv(gew,aanw) Conj(onder,met_fin) NEXTTAG Pron(per,3,ev,nom)
48
+ Conj(neven) Adv(gew,geen_func,stell,onverv) WDNEXTTAG maar Art(onbep,zijd_of_onzijd,neut)
49
+ Prep(voor_inf) Adv(gew,geen_func,stell,onverv) NEXT1OR2TAG Adj(adv,stell,onverv)
50
+ V(intrans,ovt,1_of_2_of_3,ev) V(trans,ovt,1_of_2_of_3,ev) CURWD dacht
51
+ V(trans,inf) V(trans,ott,1_of_2_of_3,mv) PREV1OR2TAG STAART
52
+ N(soort,mv,neut) V(trans,inf) PREVTAG V(hulp,ovt,1_of_2_of_3,ev)
53
+ Num(hoofd,bep,attr,onverv) Num(hoofd,bep,zelfst,onverv) NEXTTAG Punc(haak_sluit)
54
+ V(trans,inf) V(trans,ott,1_of_2_of_3,mv) PREV1OR2WD en
55
+ Pron(onbep,neut,zelfst) Pron(per,2,ev,nom) NEXT1OR2TAG Adj(adv,stell,onverv)
56
+ V(hulp_of_kopp,inf) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXT2TAG N(soort,mv,neut)
57
+ V(hulp,ott,1_of_2_of_3,mv) V(trans,ott,1_of_2_of_3,mv) NEXT1OR2TAG Adv(gew,geen_func,stell,onverv)
58
+ Pron(onbep,neut,zelfst) Art(bep,onzijd,neut) NEXTTAG Adj(attr,stell,verv_neut)
59
+ Adv(gew,er) Adv(pron,er) PREV1OR2WD ik
60
+ Adv(gew,aanw) Conj(onder,met_fin) PREV1OR2OR3TAG Adj(attr,vergr,onverv)
61
+ Pron(onbep,neut,zelfst) Art(bep,onzijd,neut) NEXTTAG N(soort,ev,neut)
62
+ Adv(gew,geen_func,stell,onverv) N(soort,ev,neut) PREVTAG Art(bep,zijd_of_mv,neut)
63
+ V(intrans,inf) V(hulp,inf) NEXTTAG N(soort,mv,neut)
64
+ Pron(onbep,neut,zelfst) Pron(per,2,ev,dat_of_acc) PREVTAG Prep(voor)
65
+ V(intrans,teg_dw,onverv) Adv(gew,geen_func,stell,onverv) CURWD voortdurend
66
+ Pron(onbep,neut,zelfst) Pron(onbep,neut,attr) WDNEXTTAG ander N(soort,ev,neut)
67
+ N(eigen,ev,neut) N(soort,ev,neut) NEXTWD aan
68
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) NEXTTAG Adj(attr,stell,onverv)
69
+ Adj(attr,stell,onverv) N(soort,ev,neut) PREV1OR2TAG Art(bep,onzijd,neut)
70
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) CURWD hard
71
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) CURWD ruim
72
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXT1OR2TAG Pron(aanw,neut,attr)
73
+ N(soort,mv,neut) V(intrans,inf) PREVTAG V(hulp,inf)
74
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXT1OR2OR3TAG Punc(punt)
75
+ V(hulp,ott,3,ev) V(trans,ott,3,ev) RBIGRAM heeft een
76
+ Prep(voor) N(eigen,ev,neut) WDNEXTTAG Van N(eigen,ev,neut)
77
+ V(hulp,ott,1_of_2_of_3,mv) V(hulp,inf) PREV1OR2TAG V(hulp,ovt,1_of_2_of_3,ev)
78
+ Conj(neven) Adv(gew,geen_func,stell,onverv) PREV1OR2OR3TAG Pron(per,2,ev,nom)
79
+ V(hulp,ovt,1_of_2_of_3,ev) V(trans,ovt,1_of_2_of_3,ev) NEXT1OR2OR3TAG Conj(onder,met_fin)
80
+ Pron(vrag,neut,attr) Pron(betr,neut,zelfst) PREVTAG Pron(onbep,neut,zelfst)
81
+ Adv(gew,geen_func,vergr,onverv) Num(hoofd,onbep,zelfst,vergr,onverv) PREV1OR2OR3TAG Conj(neven)
82
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,inf) PREV1OR2TAG Prep(voor_inf)
83
+ Pron(bez,1,mv,neut,attr) Pron(per,1,mv,dat_of_acc) PREV1OR2OR3TAG Punc(komma)
84
+ Pron(betr,neut,zelfst) Pron(aanw,neut,attr) NEXTTAG Adj(attr,stell,verv_neut)
85
+ Pron(vrag,neut,attr) Pron(onbep,neut,attr) PREVTAG Adv(gew,geen_func,stell,onverv)
86
+ Pron(onbep,neut,attr) Pron(onbep,neut,zelfst) NEXTWD van
87
+ V(intrans,verl_dw,onverv) V(trans,verl_dw,onverv) PREV1OR2OR3TAG N(soort,ev,neut)
88
+ Pron(aanw,neut,zelfst) Pron(betr,neut,zelfst) PREVTAG N(soort,ev,neut)
89
+ V(hulp,imp) V(hulp,ott,3,ev) CURWD laat
90
+ Adj(attr,stell,onverv) Adv(gew,geen_func,stell,onverv) CURWD opeens
91
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) NEXTTAG V(hulp_of_kopp,ott,3,ev)
92
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) CURWD haastig
93
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) SURROUNDTAG Adv(gew,geen_func,stell,onverv) Punc(punt)
94
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXTTAG V(hulp_of_kopp,ott,3,ev)
95
+ N(soort,ev,neut) Adj(adv,stell,onverv) PREVTAG Adv(gew,aanw)
96
+ N(soort,mv,neut) V(trans,inf) PREVWD moeten
97
+ Num(hoofd,bep,attr,onverv) Num(hoofd,bep,zelfst,onverv) NEXTTAG V(hulp_of_kopp,ovt,1_of_2_of_3,ev)
98
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXT2TAG Pron(per,1,ev,nom)
99
+ N(soort,ev,neut) N(eigen,ev,neut) CURWD februari
100
+ V(hulp,ott,3,ev) V(trans,ott,3,ev) NEXTTAG Punc(komma)
101
+ V(hulp_of_kopp,inf) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXTTAG Adv(gew,geen_func,stell,onverv)
102
+ V(hulp,ott,3,ev) V(trans,ott,3,ev) WDNEXTTAG heeft Prep(voor)
103
+ Pron(onbep,neut,zelfst) Pron(per,2,ev,nom) PREV1OR2OR3TAG Punc(aanhaal_dubb)
104
+ V(trans,ott,3,ev) V(trans,ott,2,ev) PREV1OR2OR3TAG Pron(per,2,ev,nom)
105
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) PREV1OR2OR3TAG Pron(per,2,ev,nom)
106
+ Prep(voor) Adv(deel_v) NEXTTAG Conj(onder,met_fin)
107
+ N(soort,mv,neut) V(trans,verl_dw,onverv) CURWD verloren
108
+ Adj(attr,stell,onverv) N(soort,ev,neut) WDAND2TAGBFR Prep(voor) dood
109
+ Pron(aanw,neut,attr) Pron(aanw,neut,zelfst) NEXTTAG Prep(voor)
110
+ Prep(voor) N(eigen,ev,neut) SURROUNDTAG N(eigen,ev,neut) N(eigen,ev,neut)
111
+ Adv(gew,aanw) Adv(pron,aanw) NEXT1OR2TAG Pron(per,1,ev,nom)
112
+ Pron(bez,3,ev,neut,attr) Pron(per,3,ev,dat_of_acc) NEXTTAG Adv(gew,geen_func,stell,onverv)
113
+ N(soort,ev,neut) V(trans,ovt,1_of_2_of_3,ev) PREVTAG Pron(per,3,ev,nom)
114
+ V(hulp,ott,1_of_2_of_3,mv) V(hulp,inf) PREV1OR2TAG Prep(voor)
115
+ Adv(gew,er) Adv(pron,er) PREV2TAG Conj(onder,met_fin)
116
+ Prep(voor) Adv(deel_adv) PREV1OR2OR3TAG Adv(pron,er)
117
+ Pron(bez,3,ev,neut,attr) Pron(per,3,ev,dat_of_acc) NEXT1OR2TAG Art(onbep,zijd_of_onzijd,neut)
118
+ Num(hoofd,bep,zelfst,onverv) Num(hoofd,bep,attr,onverv) NEXTTAG N(soort,ev,neut)
119
+ Adv(gew,aanw) Conj(onder,met_fin) PREV1OR2TAG Adj(attr,stell,onverv)
120
+ V(hulp,ott,1_of_2_of_3,mv) V(trans,ott,1_of_2_of_3,mv) PREV1OR2TAG Pron(bez,3,mv,neut,attr)
121
+ Conj(neven) Adv(gew,geen_func,stell,onverv) PREV1OR2WD ik
122
+ Conj(neven) Conj(onder,met_fin) PREV1OR2WD net
123
+ Pron(vrag,neut,attr) Pron(betr,neut,zelfst) NEXTTAG N(eigen,ev,neut)
124
+ Num(hoofd,bep,zelfst,onverv) Num(hoofd,bep,attr,onverv) NEXT1OR2OR3TAG Num(hoofd,bep,zelfst,onverv)
125
+ Art(bep,onzijd,neut) Pron(per,3,ev,nom) NEXTTAG Art(onbep,zijd_of_onzijd,neut)
126
+ V(intrans,ovt,1_of_2_of_3,ev) V(hulp,ovt,1_of_2_of_3,ev) CURWD begon
127
+ Adv(gew,geen_func,stell,onverv) N(soort,ev,neut) PREV1OR2WD op
128
+ N(soort,ev,neut) Num(hoofd,bep,attr,onverv) CURWD 7
129
+ Adv(gew,geen_func,vergr,onverv) Num(hoofd,onbep,zelfst,vergr,onverv) PREV1OR2TAG Prep(voor)
130
+ V(trans,inf) V(intrans,ott,1_of_2_of_3,mv) PREV1OR2OR3TAG STAART
131
+ V(intrans,ott,1_of_2_of_3,mv) V(intrans,inf) NEXT1OR2OR3TAG Conj(neven)
132
+ V(intrans,inf) V(hulp,inf) NEXTTAG V(trans,inf)
133
+ Adv(gew,geen_func,stell,onverv) Conj(onder,met_fin) PREVTAG Punc(komma)
134
+ Adv(gew,geen_func,stell,onverv) Adj(attr,stell,onverv) CURWD tevreden
135
+ V(trans,ott,1_of_2_of_3,mv) V(intrans,inf) CURWD beginnen
136
+ V(trans,ott,1,ev) V(trans,ott,2,ev) NEXTTAG Pron(per,2,ev,nom)
137
+ V(intrans,teg_dw,verv_neut) N(soort,ev,neut) CURWD schande
138
+ V(intrans,ott,3,ev) N(soort,ev,neut) NEXT1OR2OR3TAG Prep(voor_inf)
139
+ N(soort,ev,neut) Adj(attr,vergr,onverv) PREVWD steeds
140
+ N(soort,ev,neut) V(intrans,ott,3,ev) WDNEXTTAG sterft Prep(voor)
141
+ N(eigen,ev,neut) Adj(attr,stell,verv_neut) SURROUNDTAG STAART N(soort,mv,neut)
142
+ V(trans,ovt,1_of_2_of_3,ev) Adj(attr,stell,verv_neut) PREV1OR2TAG Prep(voor)
143
+ V(intrans,inf) V(hulp,inf) NEXTTAG V(intrans,inf)
144
+ V(hulp,inf) V(trans,inf) NEXTTAG Punc(punt)
145
+ V(refl,ott,3,ev) V(trans,ott,3,ev) CURWD voelt
146
+ Pron(bez,3,ev,neut,attr) V(intrans,ott,1_of_2_of_3,mv) PREVTAG Adv(gew,er)
147
+ V(hulp,ott,2,ev) V(hulp,ott,3,ev) CURWD hoeft
148
+ Pron(onbep,neut,zelfst) Pron(ref,2,ev) PREV1OR2WD je
149
+ V(intrans,teg_dw,verv_neut) Pron(onbep,neut,attr) WDNEXTTAG verschillende N(soort,mv,neut)
150
+ Adv(gew,vrag) Adj(attr,stell,onverv) PREV1OR2OR3TAG V(hulp_of_kopp,ott,3,ev)
151
+ Adj(attr,vergr,verv_neut) Adj(attr,stell,verv_neut) CURWD nare
152
+ V(trans,ott,1,ev) Int CURWD hoor
153
+ V(intrans,ovt,1_of_2_of_3,mv) V(intrans,verl_dw,onverv) CURWD verdwenen
154
+ Adv(pron,vrag) Adv(pron,betr) CURWD waardoor
155
+ N(eigen,ev,neut) N(soort,ev,neut) PREVTAG Art(onbep,zijd_of_onzijd,neut)
156
+ N(eigen,ev,neut) N(soort,ev,neut) NEXT1OR2WD worden
157
+ N(eigen,ev,neut) N(soort,ev,neut) NEXTBIGRAM Conj(neven) N(soort,ev,neut)
158
+ N(eigen,ev,neut) N(soort,ev,neut) SURROUNDTAG STAART Prep(voor)
159
+ N(eigen,ev,neut) N(soort,ev,neut) CURWD Koningin
160
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) PREV1OR2TAG V(hulp_of_kopp,ott,1_of_2_of_3,mv)
161
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) PREVTAG STAART
162
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) WDPREVTAG N(soort,mv,neut) nodig
163
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) NEXTTAG Prep(voor_inf)
164
+ Adj(adv,stell,onverv) Adj(attr,stell,onverv) CURWD eenzaam
165
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) CURWD regelmatig
166
+ Adj(attr,stell,onverv) Adj(adv,stell,onverv) CURWD geestelijk
167
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) PREVTAG Pron(per,2,ev,nom)
168
+ V(trans,inf) V(intrans,inf) NEXT1OR2TAG N(eigen,ev,neut)
169
+ V(intrans,ovt,1_of_2_of_3,ev) V(hulp,ovt,1_of_2_of_3,ev) NEXT1OR2TAG V(intrans,inf)
170
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXTTAG Punc(komma)
171
+ V(trans,inf) V(intrans,inf) PREV1OR2OR3TAG Adj(adv,vergr,onverv)
172
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXT1OR2TAG Pron(onbep,neut,zelfst)
173
+ V(trans,inf) V(intrans,inf) CURWD wennen
174
+ Art(bep,onzijd,neut) Pron(onbep,neut,zelfst) NEXT1OR2TAG Conj(onder,met_inf)
175
+ N(soort,ev,neut) V(trans,verl_dw,onverv) PREV1OR2TAG V(hulp_of_kopp,ovt,1_of_2_of_3,mv)
176
+ N(soort,ev,neut) Adj(adv,stell,onverv) NEXTTAG V(trans,verl_dw,verv_neut)
177
+ Prep(voor) Adv(deel_adv) NEXTTAG V(trans,inf)
178
+ N(soort,ev,neut) Adj(adv,stell,onverv) NEXTBIGRAM Adj(attr,stell,onverv) N(soort,ev,neut)
179
+ N(soort,mv,neut) V(trans,inf) PREV1OR2TAG Pron(per,3,ev,dat_of_acc)
180
+ Prep(voor) Adv(deel_adv) NEXTBIGRAM V(intrans,ott,3,ev) Punc(punt)
181
+ V(intrans,inf) V(intrans,ott,1_of_2_of_3,mv) PREV1OR2TAG Conj(neven)
182
+ N(soort,mv,neut) V(trans,inf) PREV1OR2OR3TAG V(hulp,ott,2,ev)
183
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXTTAG V(intrans,ott,3,ev)
184
+ V(intrans,inf) V(intrans,ott,1_of_2_of_3,mv) PREV1OR2OR3TAG Punc(komma)
185
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) PREVTAG Pron(per,1,mv,nom)
186
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXT1OR2TAG V(trans,ott,3,ev)
187
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXTTAG Prep(voor)
188
+ Conj(onder,met_inf) Prep(voor) NEXTTAG N(soort,mv,neut)
189
+ V(hulp_of_kopp,inf) V(hulp_of_kopp,ott,1_of_2_of_3,mv) PREVTAG V(trans,verl_dw,onverv)
190
+ V(hulp,ott,3,ev) V(trans,ott,3,ev) WDPREVTAG Pron(per,3,ev,nom) heeft
191
+ Conj(onder,met_fin) Pron(aanw,neut,zelfst) NEXT1OR2WD doen
192
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXTTAG V(trans,verl_dw,onverv)
193
+ V(hulp_of_kopp,ott,1_of_2_of_3,mv) V(hulp_of_kopp,inf) PREV1OR2TAG V(hulp,ott,3,ev)
194
+ N(soort,ev,neut) Adj(attr,stell,verv_neut) PREVBIGRAM Adj(attr,stell,verv_neut) Punc(komma)
195
+ N(soort,mv,neut) V(trans,verl_dw,onverv) CURWD ingenomen
196
+ Conj(onder,met_inf) Prep(voor) NEXTTAG N(soort,ev,neut)
197
+ V(trans,ovt,1_of_2_of_3,ev) V(intrans,ovt,1_of_2_of_3,ev) PREVTAG N(eigen,ev,neut)
198
+ Pron(bez,3,ev,neut,attr) V(hulp_of_kopp,ott,1_of_2_of_3,mv) NEXTWD het
199
+ Pron(aanw,neut,attr) Pron(aanw,neut,zelfst) NEXTTAG V(hulp_of_kopp,ott,3,ev)
200
+ Adv(gew,aanw) Adv(pron,aanw) PREVTAG Punc(punt_komma)
201
+ Adv(deel_v) Adv(deel_adv) RBIGRAM bij ,
202
+ V(intrans,inf) V(trans,inf) CURWD schrijven
203
+ Pron(onbep,neut,zelfst) Pron(per,2,ev,nom) PREV1OR2OR3TAG N(eigen,ev,neut)
204
+ Prep(voor) Adv(deel_v) NEXTTAG V(hulp,inf)
205
+ N(soort,mv,neut) V(trans,verl_dw,onverv) CURWD betrokken
206
+ V(hulp_of_kopp,inf) V(hulp_of_kopp,ott,1_of_2_of_3,mv) PREV1OR2WD en
207
+ Pron(aanw,neut,zelfst) Conj(onder,met_fin) WDAND2TAGAFT Dat N(soort,ev,neut)
208
+ Adv(deel_v) Adv(deel_adv) PREV1OR2OR3TAG Adv(gew,er)
209
+ Adv(gew,er) Adv(pron,er) NEXT1OR2OR3TAG Adv(deel_adv)
210
+ N(soort,ev,neut) N(soort,mv,neut) WDNEXTTAG dll Num(hoofd,bep,attr,onverv)
211
+ N(eigen,ev,neut) N(eigen,mv,neut) NEXTWD Staten
212
+ Adj(attr,stell,verv_neut) N(soort,ev,neut) NEXTTAG Punc(punt)
213
+ V(hulp_of_kopp,inf) V(hulp_of_kopp,ott,1_of_2_of_3,mv) PREV1OR2OR3TAG Adj(attr,stell,verv_neut)
214
+ V(hulp,ovt,1_of_2_of_3,ev) V(trans,ovt,1_of_2_of_3,ev) SURROUNDTAG N(soort,ev,neut) Punc(komma)
215
+ Pron(bez,3,ev,neut,attr) Pron(per,3,ev,dat_of_acc) NEXTTAG Prep(voor)
216
+ Prep(voor) N(eigen,ev,neut) NEXTTAG Art(bep,zijd_of_mv,gen)
217
+ Art(bep,zijd_of_mv,neut) N(eigen,ev,neut) WDNEXTTAG De N(eigen,ev,neut)
218
+ Adj(attr,stell,verv_neut) Adj(zelfst,stell,verv_neut) PREVWD Het
219
+ N(eigen,ev,neut) V(trans,imp) SURROUNDTAG STAART Adv(gew,aanw)
220
+ N(eigen,ev,neut) N(eigen,mv,neut) PREVTAG N(eigen,mv,neut)
221
+ Adv(gew,aanw) Conj(onder,met_fin) LBIGRAM , toen
222
+ V(hulp,ott,1_of_2_of_3,mv) V(trans,ott,1_of_2_of_3,mv) RBIGRAM hebben ,
223
+ V(trans,ott,1_of_2_of_3,mv) V(hulp,ott,1_of_2_of_3,mv) PREV1OR2TAG STAART
224
+ V(hulp,inf) V(hulp,ott,1_of_2_of_3,mv) NEXTTAG Pron(per,1,mv,nom)
225
+ Pron(bez,3,ev,neut,attr) Pron(per,3,ev,dat_of_acc) NEXTTAG V(trans,verl_dw,onverv)
226
+ Pron(aanw,neut,attr) Pron(betr,neut,zelfst) WDPREVTAG N(soort,mv,neut) die
227
+ V(hulp,ott,3,ev) V(hulp,ott,2,ev) PREVTAG Pron(per,2,ev,nom)
228
+ Pron(bez,1,mv,neut,attr) Pron(per,1,mv,dat_of_acc) NEXTTAG Punc(punt)
229
+ N(eigen,ev,neut) Prep(voor) SURROUNDTAG STAART Art(bep,zijd_of_mv,neut)
230
+ Conj(neven) Adv(gew,geen_func,stell,onverv) PREVTAG Adv(gew,aanw)
231
+ Pron(betr,neut,zelfst) Pron(aanw,neut,zelfst) PREV1OR2TAG Conj(onder,met_fin)
232
+ Pron(aanw,neut,zelfst) Pron(aanw,neut,attr) NEXTBIGRAM Adj(attr,stell,verv_neut) N(soort,ev,neut)
233
+ Prep(voor_inf) Adv(gew,geen_func,stell,onverv) NEXTTAG Adj(attr,stell,verv_neut)
234
+ Num(hoofd,bep,zelfst,onverv) Num(hoofd,bep,attr,onverv) PREV1OR2OR3TAG Num(hoofd,bep,attr,onverv)
235
+ N(soort,ev,neut) V(intrans,inf) PREVTAG Prep(voor_inf)
236
+ Prep(voor_inf) Prep(voor) NEXTTAG N(soort,ev,neut)
237
+ Adj(adv,stell,onverv) N(soort,ev,neut) WDAND2AFT geheel .
238
+ V(trans,ott,3,ev) N(soort,ev,neut) PREVTAG Art(onbep,zijd_of_onzijd,neut)
239
+ V(trans,inf) V(trans,inf,subst) PREV1OR2TAG Art(bep,onzijd,neut)
240
+ V(hulp,ott,3,ev) V(hulp,ott,2,ev) NEXTWD u
241
+ Adv(gew,geen_func,stell,onverv) N(soort,ev,neut) PREVTAG Adj(attr,stell,verv_neut)
242
+ Adv(deel_v) Prep(voor) WDNEXTTAG tot Prep(voor)
243
+ V(hulp,ovt,1_of_2_of_3,mv) V(trans,ovt,1_of_2_of_3,mv) CURWD hadden
244
+ Adv(gew,geen_func,stell,onverv) Pron(onbep,neut,attr) NEXTWD die
245
+ V(trans,inf) V(refl,inf) PREV1OR2OR3TAG Pron(ref,3,ev_of_mv)
246
+ V(hulp,inf) V(hulp,ott,1_of_2_of_3,mv) WDNEXTTAG moeten V(trans,inf)
247
+ V(hulp,ott,1_of_2_of_3,mv) V(hulp,inf) NEXTBIGRAM V(trans,inf) Punc(komma)
248
+ Pron(aanw,neut,zelfst) Pron(betr,neut,zelfst) SURROUNDTAG Punc(komma) Prep(voor)
249
+ N(eigen,ev,neut) Int SURROUNDTAG Punc(aanhaal_dubb) Punc(komma)
250
+ N(eigen,ev,neut) Art(bep,zijd_of_mv,neut) LBIGRAM STAART De
251
+ Conj(onder,met_fin) Conj(neven) PREV1OR2WD zowel
252
+ Adv(gew,geen_func,stell,onverv) Adj(attr,stell,onverv) NEXTTAG Conj(neven)
253
+ Adj(attr,stell,verv_neut) Pron(onbep,neut,attr) WDNEXTTAG Elke N(soort,ev,neut)
254
+ Adj(adv,vergr,onverv) Adj(attr,vergr,onverv) PREV1OR2TAG Adv(gew,geen_func,stell,onverv)
255
+ V(trans,ovt,1_of_2_of_3,ev) N(soort,ev,neut) PREVTAG Adj(attr,stell,verv_neut)
256
+ V(intrans,teg_dw,verv_neut) N(soort,ev,neut) CURWD bende
257
+ V(hulp,inf) V(hulp,ott,1_of_2_of_3,mv) WDPREVTAG N(soort,ev,neut) kunnen
258
+ Pron(vrag,neut,attr) Pron(onbep,neut,attr) NEXTTAG N(soort,mv,neut)
259
+ Pron(betr,neut,zelfst) Pron(vrag,neut,attr) NEXT1OR2OR3TAG Adv(gew,aanw)
260
+ Adv(gew,vrag) Adv(pron,vrag) PREVTAG Pron(onbep,neut,zelfst)
261
+ Adv(gew,geen_func,vergr,onverv) Num(hoofd,onbep,attr,vergr,onverv) NEXT1OR2TAG N(soort,mv,neut)
262
+ V(trans,ott,1,ev) V(trans,ott,3,ev) PREVTAG Pron(onbep,neut,zelfst)
263
+ V(hulp_of_kopp,ovt,1_of_2_of_3,mv) V(intrans,ovt,1_of_2_of_3,mv) NEXTTAG Adv(gew,er)
264
+ Pron(onbep,neut,zelfst) Pron(per,2,ev,dat_of_acc) PREV1OR2TAG Pron(per,1,ev,nom)
265
+ Num(hoofd,bep,attr,onverv) Num(rang,bep,attr,onverv) PREVTAG Art(bep,onzijd,neut)
266
+ N(soort,ev,neut) Int CURWD oh
267
+ V(intrans,ott,1,ev) N(soort,ev,neut) NEXT1OR2OR3TAG Prep(voor)
268
+ Pron(aanw,neut,zelfst) Pron(betr,neut,zelfst) SURROUNDTAG Punc(komma) Adv(gew,geen_func,stell,onverv)
269
+ Adj(zelfst,stell,verv_mv) N(soort,mv,neut) CURWD armen
270
+ V(trans,ott,1,ev) V(intrans,ovt,1_of_2_of_3,ev) NEXT1OR2WD in
271
+ V(intrans,inf) N(soort,mv,neut) WDNEXTTAG verschillen Prep(voor)
272
+ Prep(voor) V(trans,imp) NEXTTAG Pron(aanw,neut,attr)
273
+ N(eigen,ev,neut) Art(bep,zijd_of_mv,neut) WDNEXTTAG DE N(eigen,ev,neut)
274
+ Adv(gew,aanw) Conj(onder,met_fin) WDAND2TAGBFR Art(bep,zijd_of_mv,neut) toen
275
+ V(trans,ovt,1_of_2_of_3,mv) V(trans,ott,1_of_2_of_3,mv) NEXTTAG Pron(per,3,ev_of_mv,nom)
276
+ V(trans,ovt,1_of_2_of_3,ev) Conj(onder,met_fin) CURWD zodra
277
+ V(intrans,verl_dw,verv_neut) V(intrans,ovt,1_of_2_of_3,ev) CURWD gebeurde
278
+ V(intrans,teg_dw,onverv) Adv(gew,geen_func,stell,onverv) CURWD dringend
279
+ V(hulp,ovt,1_of_2_of_3,ev) Adj(attr,stell,verv_neut) PREV1OR2TAG Prep(voor)
280
+ V(intrans,ott,3,ev) N(soort,ev,neut) PREVTAG Adj(attr,stell,verv_neut)
281
+ V(hulp,inf) Num(hoofd,bep,attr,onverv) CURWD veertien
282
+ Prep(voor) N(soort,mv,neut) NEXTWD zijn
283
+ Num(hoofd,onbep,zelfst,stell,onverv) Num(hoofd,onbep,attr,stell,onverv) NEXTTAG N(soort,mv,neut)
284
+ Art(bep,zijd_of_mv,gen) N(eigen,ev,neut) PREVTAG N(eigen,ev,neut)
285
+ N(eigen,ev,neut) N(soort,ev,neut) PREVTAG Adj(attr,overtr,verv_neut)