Merge branch 'develop' of https://github.com/explosion/spaCy into develop

This commit is contained in:
Matthew Honnibal 2017-11-05 19:40:00 +01:00
commit 46e62ad747
27 changed files with 7252 additions and 7019 deletions

View File

@ -9,7 +9,9 @@ from keras.models import Sequential, model_from_json
from keras.layers import LSTM, Dense, Embedding, Dropout, Bidirectional from keras.layers import LSTM, Dense, Embedding, Dropout, Bidirectional
from keras.layers import TimeDistributed from keras.layers import TimeDistributed
from keras.optimizers import Adam from keras.optimizers import Adam
import cPickle as pickle from spacy.compat import pickle
import thinc.extra.datasets
import spacy import spacy
@ -70,11 +72,14 @@ def get_features(docs, max_length):
for i, doc in enumerate(docs): for i, doc in enumerate(docs):
j = 0 j = 0
for token in doc: for token in doc:
if token.has_vector and not token.is_punct and not token.is_space: vector_id = token.vocab.vectors.find(key=token.orth)
Xs[i, j] = token.rank + 1 if vector_id >= 0:
j += 1 Xs[i, j] = vector_id
if j >= max_length: else:
break Xs[i, j] = 0
j += 1
if j >= max_length:
break
return Xs return Xs
@ -82,12 +87,13 @@ def train(train_texts, train_labels, dev_texts, dev_labels,
lstm_shape, lstm_settings, lstm_optimizer, batch_size=100, nb_epoch=5, lstm_shape, lstm_settings, lstm_optimizer, batch_size=100, nb_epoch=5,
by_sentence=True): by_sentence=True):
print("Loading spaCy") print("Loading spaCy")
nlp = spacy.load('en', entity=False) nlp = spacy.load('en_vectors_web_lg')
nlp.add_pipe(nlp.create_pipe('sentencizer'))
embeddings = get_embeddings(nlp.vocab) embeddings = get_embeddings(nlp.vocab)
model = compile_lstm(embeddings, lstm_shape, lstm_settings) model = compile_lstm(embeddings, lstm_shape, lstm_settings)
print("Parsing texts...") print("Parsing texts...")
train_docs = list(nlp.pipe(train_texts, batch_size=5000, n_threads=3)) train_docs = list(nlp.pipe(train_texts))
dev_docs = list(nlp.pipe(dev_texts, batch_size=5000, n_threads=3)) dev_docs = list(nlp.pipe(dev_texts))
if by_sentence: if by_sentence:
train_docs, train_labels = get_labelled_sentences(train_docs, train_labels) train_docs, train_labels = get_labelled_sentences(train_docs, train_labels)
dev_docs, dev_labels = get_labelled_sentences(dev_docs, dev_labels) dev_docs, dev_labels = get_labelled_sentences(dev_docs, dev_labels)
@ -111,9 +117,10 @@ def compile_lstm(embeddings, shape, settings):
mask_zero=True mask_zero=True
) )
) )
model.add(TimeDistributed(Dense(shape['nr_hidden'], bias=False))) model.add(TimeDistributed(Dense(shape['nr_hidden'], use_bias=False)))
model.add(Bidirectional(LSTM(shape['nr_hidden'], dropout_U=settings['dropout'], model.add(Bidirectional(LSTM(shape['nr_hidden'],
dropout_W=settings['dropout']))) recurrent_dropout=settings['dropout'],
dropout=settings['dropout'])))
model.add(Dense(shape['nr_class'], activation='sigmoid')) model.add(Dense(shape['nr_class'], activation='sigmoid'))
model.compile(optimizer=Adam(lr=settings['lr']), loss='binary_crossentropy', model.compile(optimizer=Adam(lr=settings['lr']), loss='binary_crossentropy',
metrics=['accuracy']) metrics=['accuracy'])
@ -121,12 +128,7 @@ def compile_lstm(embeddings, shape, settings):
def get_embeddings(vocab): def get_embeddings(vocab):
max_rank = max(lex.rank+1 for lex in vocab if lex.has_vector) return vocab.vectors.data
vectors = numpy.ndarray((max_rank+1, vocab.vectors_length), dtype='float32')
for lex in vocab:
if lex.has_vector:
vectors[lex.rank + 1] = lex.vector
return vectors
def evaluate(model_dir, texts, labels, max_length=100): def evaluate(model_dir, texts, labels, max_length=100):
@ -174,22 +176,32 @@ def read_data(data_dir, limit=0):
batch_size=("Size of minibatches for training LSTM", "option", "b", int), batch_size=("Size of minibatches for training LSTM", "option", "b", int),
nr_examples=("Limit to N examples", "option", "n", int) nr_examples=("Limit to N examples", "option", "n", int)
) )
def main(model_dir, train_dir, dev_dir, def main(model_dir=None, train_dir=None, dev_dir=None,
is_runtime=False, is_runtime=False,
nr_hidden=64, max_length=100, # Shape nr_hidden=64, max_length=100, # Shape
dropout=0.5, learn_rate=0.001, # General NN config dropout=0.5, learn_rate=0.001, # General NN config
nb_epoch=5, batch_size=100, nr_examples=-1): # Training params nb_epoch=5, batch_size=100, nr_examples=-1): # Training params
model_dir = pathlib.Path(model_dir) if model_dir is not None:
train_dir = pathlib.Path(train_dir) model_dir = pathlib.Path(model_dir)
dev_dir = pathlib.Path(dev_dir) if train_dir is None or dev_dir is None:
imdb_data = thinc.extra.datasets.imdb()
if is_runtime: if is_runtime:
dev_texts, dev_labels = read_data(dev_dir) if dev_dir is None:
dev_texts, dev_labels = zip(*imdb_data[1])
else:
dev_texts, dev_labels = read_data(dev_dir)
acc = evaluate(model_dir, dev_texts, dev_labels, max_length=max_length) acc = evaluate(model_dir, dev_texts, dev_labels, max_length=max_length)
print(acc) print(acc)
else: else:
print("Read data") if train_dir is None:
train_texts, train_labels = read_data(train_dir, limit=nr_examples) train_texts, train_labels = zip(*imdb_data[0])
dev_texts, dev_labels = read_data(dev_dir, limit=nr_examples) else:
print("Read data")
train_texts, train_labels = read_data(train_dir, limit=nr_examples)
if dev_dir is None:
dev_texts, dev_labels = zip(*imdb_data[1])
else:
dev_texts, dev_labels = read_data(dev_dir, imdb_data, limit=nr_examples)
train_labels = numpy.asarray(train_labels, dtype='int32') train_labels = numpy.asarray(train_labels, dtype='int32')
dev_labels = numpy.asarray(dev_labels, dtype='int32') dev_labels = numpy.asarray(dev_labels, dtype='int32')
lstm = train(train_texts, train_labels, dev_texts, dev_labels, lstm = train(train_texts, train_labels, dev_texts, dev_labels,
@ -198,10 +210,11 @@ def main(model_dir, train_dir, dev_dir,
{}, {},
nb_epoch=nb_epoch, batch_size=batch_size) nb_epoch=nb_epoch, batch_size=batch_size)
weights = lstm.get_weights() weights = lstm.get_weights()
with (model_dir / 'model').open('wb') as file_: if model_dir is not None:
pickle.dump(weights[1:], file_) with (model_dir / 'model').open('wb') as file_:
with (model_dir / 'config.json').open('wb') as file_: pickle.dump(weights[1:], file_)
file_.write(lstm.to_json()) with (model_dir / 'config.json').open('wb') as file_:
file_.write(lstm.to_json())
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -1,306 +1,309 @@
# coding: utf8 # coding: utf8
from __future__ import unicode_literals from __future__ import unicode_literals
from ...symbols import POS, PUNCT, SYM, ADJ, NUM, DET, ADV, ADP, X, VERB
from ...symbols import NOUN, PROPN, PART, INTJ, SPACE, PRON, SCONJ, AUX, CONJ
TAG_MAP = { TAG_MAP = {
"ADJ___": {"morph": "_", "pos": "ADJ"}, "ADJ___": {"morph": "_", POS: ADJ},
"ADJ__AdpType=Prep": {"morph": "AdpType=Prep", "pos": "ADJ"}, "ADJ__AdpType=Prep": {"morph": "AdpType=Prep", POS: ADJ},
"ADJ__AdpType=Preppron|Gender=Masc|Number=Sing": {"morph": "AdpType=Preppron|Gender=Masc|Number=Sing", "pos": "ADV"}, "ADJ__AdpType=Preppron|Gender=Masc|Number=Sing": {"morph": "AdpType=Preppron|Gender=Masc|Number=Sing", POS: ADV},
"ADJ__AdvType=Tim": {"morph": "AdvType=Tim", "pos": "ADJ"}, "ADJ__AdvType=Tim": {"morph": "AdvType=Tim", POS: ADJ},
"ADJ__Gender=Fem|Number=Plur": {"morph": "Gender=Fem|Number=Plur", "pos": "ADJ"}, "ADJ__Gender=Fem|Number=Plur": {"morph": "Gender=Fem|Number=Plur", POS: ADJ},
"ADJ__Gender=Fem|Number=Plur|NumType=Ord": {"morph": "Gender=Fem|Number=Plur|NumType=Ord", "pos": "ADJ"}, "ADJ__Gender=Fem|Number=Plur|NumType=Ord": {"morph": "Gender=Fem|Number=Plur|NumType=Ord", POS: ADJ},
"ADJ__Gender=Fem|Number=Plur|VerbForm=Part": {"morph": "Gender=Fem|Number=Plur|VerbForm=Part", "pos": "ADJ"}, "ADJ__Gender=Fem|Number=Plur|VerbForm=Part": {"morph": "Gender=Fem|Number=Plur|VerbForm=Part", POS: ADJ},
"ADJ__Gender=Fem|Number=Sing": {"morph": "Gender=Fem|Number=Sing", "pos": "ADJ"}, "ADJ__Gender=Fem|Number=Sing": {"morph": "Gender=Fem|Number=Sing", POS: ADJ},
"ADJ__Gender=Fem|Number=Sing|NumType=Ord": {"morph": "Gender=Fem|Number=Sing|NumType=Ord", "pos": "ADJ"}, "ADJ__Gender=Fem|Number=Sing|NumType=Ord": {"morph": "Gender=Fem|Number=Sing|NumType=Ord", POS: ADJ},
"ADJ__Gender=Fem|Number=Sing|VerbForm=Part": {"morph": "Gender=Fem|Number=Sing|VerbForm=Part", "pos": "ADJ"}, "ADJ__Gender=Fem|Number=Sing|VerbForm=Part": {"morph": "Gender=Fem|Number=Sing|VerbForm=Part", POS: ADJ},
"ADJ__Gender=Masc": {"morph": "Gender=Masc", "pos": "ADJ"}, "ADJ__Gender=Masc": {"morph": "Gender=Masc", POS: ADJ},
"ADJ__Gender=Masc|Number=Plur": {"morph": "Gender=Masc|Number=Plur", "pos": "ADJ"}, "ADJ__Gender=Masc|Number=Plur": {"morph": "Gender=Masc|Number=Plur", POS: ADJ},
"ADJ__Gender=Masc|Number=Plur|NumType=Ord": {"morph": "Gender=Masc|Number=Plur|NumType=Ord", "pos": "ADJ"}, "ADJ__Gender=Masc|Number=Plur|NumType=Ord": {"morph": "Gender=Masc|Number=Plur|NumType=Ord", POS: ADJ},
"ADJ__Gender=Masc|Number=Plur|VerbForm=Part": {"morph": "Gender=Masc|Number=Plur|VerbForm=Part", "pos": "ADJ"}, "ADJ__Gender=Masc|Number=Plur|VerbForm=Part": {"morph": "Gender=Masc|Number=Plur|VerbForm=Part", POS: ADJ},
"ADJ__Gender=Masc|Number=Sing": {"morph": "Gender=Masc|Number=Sing", "pos": "ADJ"}, "ADJ__Gender=Masc|Number=Sing": {"morph": "Gender=Masc|Number=Sing", POS: ADJ},
"ADJ__Gender=Masc|Number=Sing|NumType=Ord": {"morph": "Gender=Masc|Number=Sing|NumType=Ord", "pos": "ADJ"}, "ADJ__Gender=Masc|Number=Sing|NumType=Ord": {"morph": "Gender=Masc|Number=Sing|NumType=Ord", POS: ADJ},
"ADJ__Gender=Masc|Number=Sing|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|VerbForm=Part", "pos": "ADJ"}, "ADJ__Gender=Masc|Number=Sing|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|VerbForm=Part", POS: ADJ},
"ADJ__Number=Plur": {"morph": "Number=Plur", "pos": "ADJ"}, "ADJ__Number=Plur": {"morph": "Number=Plur", POS: ADJ},
"ADJ__Number=Sing": {"morph": "Number=Sing", "pos": "ADJ"}, "ADJ__Number=Sing": {"morph": "Number=Sing", POS: ADJ},
"ADP__AdpType=Prep": {"morph": "AdpType=Prep", "pos": "ADP"}, "ADP__AdpType=Prep": {"morph": "AdpType=Prep", POS: ADP},
"ADP__AdpType=Preppron|Gender=Fem|Number=Sing": {"morph": "AdpType=Preppron|Gender=Fem|Number=Sing", "pos": "ADP"}, "ADP__AdpType=Preppron|Gender=Fem|Number=Sing": {"morph": "AdpType=Preppron|Gender=Fem|Number=Sing", POS: ADP},
"ADP__AdpType=Preppron|Gender=Masc|Number=Plur": {"morph": "AdpType=Preppron|Gender=Masc|Number=Plur", "pos": "ADP"}, "ADP__AdpType=Preppron|Gender=Masc|Number=Plur": {"morph": "AdpType=Preppron|Gender=Masc|Number=Plur", POS: ADP},
"ADP__AdpType=Preppron|Gender=Masc|Number=Sing": {"morph": "AdpType=Preppron|Gender=Masc|Number=Sing", "pos": "ADP"}, "ADP__AdpType=Preppron|Gender=Masc|Number=Sing": {"morph": "AdpType=Preppron|Gender=Masc|Number=Sing", POS: ADP},
"ADP": { "pos": "ADP"}, "ADP": { POS: ADP},
"ADV___": {"morph": "_", "pos": "ADV"}, "ADV___": {"morph": "_", POS: ADV},
"ADV__AdpType=Prep": {"morph": "AdpType=Prep", "pos": "ADV"}, "ADV__AdpType=Prep": {"morph": "AdpType=Prep", POS: ADV},
"ADV__AdpType=Preppron|Gender=Masc|Number=Sing": {"morph": "AdpType=Preppron|Gender=Masc|Number=Sing", "pos": "ADV"}, "ADV__AdpType=Preppron|Gender=Masc|Number=Sing": {"morph": "AdpType=Preppron|Gender=Masc|Number=Sing", POS: ADV},
"ADV__AdvType=Tim": {"morph": "AdvType=Tim", "pos": "ADV"}, "ADV__AdvType=Tim": {"morph": "AdvType=Tim", POS: ADV},
"ADV__Gender=Masc|Number=Sing": {"morph": "Gender=Masc|Number=Sing", "pos": "ADV"}, "ADV__Gender=Masc|Number=Sing": {"morph": "Gender=Masc|Number=Sing", POS: ADV},
"ADV__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", "pos": "ADV"}, "ADV__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", POS: ADV},
"ADV__Negative=Neg": {"morph": "Negative=Neg", "pos": "ADV"}, "ADV__Negative=Neg": {"morph": "Negative=Neg", POS: ADV},
"ADV__Number=Plur": {"morph": "Number=Plur", "pos": "ADV"}, "ADV__Number=Plur": {"morph": "Number=Plur", POS: ADV},
"ADV__Polarity=Neg": {"morph": "Polarity=Neg", "pos": "ADV"}, "ADV__Polarity=Neg": {"morph": "Polarity=Neg", POS: ADV},
"AUX__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part", "pos": "AUX"}, "AUX__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part", POS: AUX},
"AUX__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part", "pos": "AUX"}, "AUX__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part", POS: AUX},
"AUX__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part", "pos": "AUX"}, "AUX__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part", POS: AUX},
"AUX__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part", "pos": "AUX"}, "AUX__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part", POS: AUX},
"AUX__Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin", POS: AUX},
"AUX__Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin", POS: AUX},
"AUX__Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin", POS: AUX},
"AUX__Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin", POS: AUX},
"AUX__Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin", POS: AUX},
"AUX__Mood=Imp|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=3|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Imp|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=3|VerbForm=Fin", POS: AUX},
"AUX__Mood=Imp|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=2|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Imp|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=2|VerbForm=Fin", POS: AUX},
"AUX__Mood=Imp|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=3|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Imp|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=3|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin", POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", "pos": "AUX"}, "AUX__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", POS: AUX},
"AUX__VerbForm=Ger": {"morph": "VerbForm=Ger", "pos": "AUX"}, "AUX__VerbForm=Ger": {"morph": "VerbForm=Ger", POS: AUX},
"AUX__VerbForm=Inf": {"morph": "VerbForm=Inf", "pos": "AUX"}, "AUX__VerbForm=Inf": {"morph": "VerbForm=Inf", POS: AUX},
"CCONJ___": {"morph": "_", "pos": "CONJ"}, "CCONJ___": {"morph": "_", POS: CONJ},
"CONJ___": {"morph": "_", "pos": "CONJ"}, "CONJ___": {"morph": "_", POS: CONJ},
"DET__Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {"morph": "Definite=Def|Gender=Fem|Number=Plur|PronType=Art", "pos": "DET"}, "DET__Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {"morph": "Definite=Def|Gender=Fem|Number=Plur|PronType=Art", POS: DET},
"DET__Definite=Def|Gender=Fem|Number=Sing|PronType=Art": {"morph": "Definite=Def|Gender=Fem|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Definite=Def|Gender=Fem|Number=Sing|PronType=Art": {"morph": "Definite=Def|Gender=Fem|Number=Sing|PronType=Art", POS: DET},
"DET__Definite=Def|Gender=Masc|Number=Plur|PronType=Art": {"morph": "Definite=Def|Gender=Masc|Number=Plur|PronType=Art", "pos": "DET"}, "DET__Definite=Def|Gender=Masc|Number=Plur|PronType=Art": {"morph": "Definite=Def|Gender=Masc|Number=Plur|PronType=Art", POS: DET},
"DET__Definite=Def|Gender=Masc|Number=Sing|PronType=Art": {"morph": "Definite=Def|Gender=Masc|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Definite=Def|Gender=Masc|Number=Sing|PronType=Art": {"morph": "Definite=Def|Gender=Masc|Number=Sing|PronType=Art", POS: DET},
"DET__Definite=Def|Gender=Masc|PronType=Art": {"morph": "Definite=Def|Gender=Masc|PronType=Art", "pos": "DET"}, "DET__Definite=Def|Gender=Masc|PronType=Art": {"morph": "Definite=Def|Gender=Masc|PronType=Art", POS: DET},
"DET__Definite=Def|Number=Sing|PronType=Art": {"morph": "Definite=Def|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Definite=Def|Number=Sing|PronType=Art": {"morph": "Definite=Def|Number=Sing|PronType=Art", POS: DET},
"DET__Definite=Ind|Gender=Fem|Number=Plur|PronType=Art": {"morph": "Definite=Ind|Gender=Fem|Number=Plur|PronType=Art", "pos": "DET"}, "DET__Definite=Ind|Gender=Fem|Number=Plur|PronType=Art": {"morph": "Definite=Ind|Gender=Fem|Number=Plur|PronType=Art", POS: DET},
"DET__Definite=Ind|Gender=Fem|Number=Sing|NumType=Card|PronType=Art": {"morph": "Definite=Ind|Gender=Fem|Number=Sing|NumType=Card|PronType=Art", "pos": "DET"}, "DET__Definite=Ind|Gender=Fem|Number=Sing|NumType=Card|PronType=Art": {"morph": "Definite=Ind|Gender=Fem|Number=Sing|NumType=Card|PronType=Art", POS: DET},
"DET__Definite=Ind|Gender=Fem|Number=Sing|PronType=Art": {"morph": "Definite=Ind|Gender=Fem|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Definite=Ind|Gender=Fem|Number=Sing|PronType=Art": {"morph": "Definite=Ind|Gender=Fem|Number=Sing|PronType=Art", POS: DET},
"DET__Definite=Ind|Gender=Masc|Number=Plur|PronType=Art": {"morph": "Definite=Ind|Gender=Masc|Number=Plur|PronType=Art", "pos": "DET"}, "DET__Definite=Ind|Gender=Masc|Number=Plur|PronType=Art": {"morph": "Definite=Ind|Gender=Masc|Number=Plur|PronType=Art", POS: DET},
"DET__Definite=Ind|Gender=Masc|Number=Sing|NumType=Card|PronType=Art": {"morph": "Definite=Ind|Gender=Masc|Number=Sing|NumType=Card|PronType=Art", "pos": "DET"}, "DET__Definite=Ind|Gender=Masc|Number=Sing|NumType=Card|PronType=Art": {"morph": "Definite=Ind|Gender=Masc|Number=Sing|NumType=Card|PronType=Art", POS: DET},
"DET__Definite=Ind|Gender=Masc|Number=Sing|PronType=Art": {"morph": "Definite=Ind|Gender=Masc|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Definite=Ind|Gender=Masc|Number=Sing|PronType=Art": {"morph": "Definite=Ind|Gender=Masc|Number=Sing|PronType=Art", POS: DET},
"DET__Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Plur|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Plur|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Plur|PronType=Art": {"morph": "Gender=Fem|Number=Plur|PronType=Art", "pos": "DET"}, "DET__Gender=Fem|Number=Plur|PronType=Art": {"morph": "Gender=Fem|Number=Plur|PronType=Art", POS: DET},
"DET__Gender=Fem|Number=Plur|PronType=Dem": {"morph": "Gender=Fem|Number=Plur|PronType=Dem", "pos": "DET"}, "DET__Gender=Fem|Number=Plur|PronType=Dem": {"morph": "Gender=Fem|Number=Plur|PronType=Dem", POS: DET},
"DET__Gender=Fem|Number=Plur|PronType=Ind": {"morph": "Gender=Fem|Number=Plur|PronType=Ind", "pos": "DET"}, "DET__Gender=Fem|Number=Plur|PronType=Ind": {"morph": "Gender=Fem|Number=Plur|PronType=Ind", POS: DET},
"DET__Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Sing|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Plur|Person=2|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Fem|Number=Sing|PronType=Art": {"morph": "Gender=Fem|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|PronType=Art": {"morph": "Gender=Fem|Number=Sing|PronType=Art", POS: DET},
"DET__Gender=Fem|Number=Sing|PronType=Dem": {"morph": "Gender=Fem|Number=Sing|PronType=Dem", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|PronType=Dem": {"morph": "Gender=Fem|Number=Sing|PronType=Dem", POS: DET},
"DET__Gender=Fem|Number=Sing|PronType=Ind": {"morph": "Gender=Fem|Number=Sing|PronType=Ind", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|PronType=Ind": {"morph": "Gender=Fem|Number=Sing|PronType=Ind", POS: DET},
"DET__Gender=Fem|Number=Sing|PronType=Int": {"morph": "Gender=Fem|Number=Sing|PronType=Int", "pos": "DET"}, "DET__Gender=Fem|Number=Sing|PronType=Int": {"morph": "Gender=Fem|Number=Sing|PronType=Int", POS: DET},
"DET__Gender=Masc|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Masc|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Masc|Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=3|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Masc|Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=3|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Masc|Number=Plur|PronType=Art": {"morph": "Gender=Masc|Number=Plur|PronType=Art", "pos": "DET"}, "DET__Gender=Masc|Number=Plur|PronType=Art": {"morph": "Gender=Masc|Number=Plur|PronType=Art", POS: DET},
"DET__Gender=Masc|Number=Plur|PronType=Dem": {"morph": "Gender=Masc|Number=Plur|PronType=Dem", "pos": "DET"}, "DET__Gender=Masc|Number=Plur|PronType=Dem": {"morph": "Gender=Masc|Number=Plur|PronType=Dem", POS: DET},
"DET__Gender=Masc|Number=Plur|PronType=Ind": {"morph": "Gender=Masc|Number=Plur|PronType=Ind", "pos": "DET"}, "DET__Gender=Masc|Number=Plur|PronType=Ind": {"morph": "Gender=Masc|Number=Plur|PronType=Ind", POS: DET},
"DET__Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs", POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Art": {"morph": "Gender=Masc|Number=Sing|PronType=Art", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|PronType=Art": {"morph": "Gender=Masc|Number=Sing|PronType=Art", POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Dem": {"morph": "Gender=Masc|Number=Sing|PronType=Dem", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|PronType=Dem": {"morph": "Gender=Masc|Number=Sing|PronType=Dem", POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Ind": {"morph": "Gender=Masc|Number=Sing|PronType=Ind", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|PronType=Ind": {"morph": "Gender=Masc|Number=Sing|PronType=Ind", POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Int": {"morph": "Gender=Masc|Number=Sing|PronType=Int", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|PronType=Int": {"morph": "Gender=Masc|Number=Sing|PronType=Int", POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Tot": {"morph": "Gender=Masc|Number=Sing|PronType=Tot", "pos": "DET"}, "DET__Gender=Masc|Number=Sing|PronType=Tot": {"morph": "Gender=Masc|Number=Sing|PronType=Tot", POS: DET},
"DET__Number=Plur|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Number=Plur|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Number=Plur|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Number=Plur|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", POS: DET},
"DET__Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Person=3|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Person=3|Poss=Yes|PronType=Prs", POS: DET},
"DET__Number=Plur|PronType=Dem": {"morph": "Number=Plur|PronType=Dem", "pos": "DET"}, "DET__Number=Plur|PronType=Dem": {"morph": "Number=Plur|PronType=Dem", POS: DET},
"DET__Number=Plur|PronType=Ind": {"morph": "Number=Plur|PronType=Ind", "pos": "DET"}, "DET__Number=Plur|PronType=Ind": {"morph": "Number=Plur|PronType=Ind", POS: DET},
"DET__Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", POS: DET},
"DET__Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", POS: DET},
"DET__Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Person=3|Poss=Yes|PronType=Prs", "pos": "DET"}, "DET__Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Person=3|Poss=Yes|PronType=Prs", POS: DET},
"DET__Number=Sing|PronType=Dem": {"morph": "Number=Sing|PronType=Dem", "pos": "DET"}, "DET__Number=Sing|PronType=Dem": {"morph": "Number=Sing|PronType=Dem", POS: DET},
"DET__Number=Sing|PronType=Ind": {"morph": "Number=Sing|PronType=Ind", "pos": "DET"}, "DET__Number=Sing|PronType=Ind": {"morph": "Number=Sing|PronType=Ind", POS: DET},
"DET__PronType=Int": {"morph": "PronType=Int", "pos": "DET"}, "DET__PronType=Int": {"morph": "PronType=Int", POS: DET},
"DET__PronType=Rel": {"morph": "PronType=Rel", "pos": "DET"}, "DET__PronType=Rel": {"morph": "PronType=Rel", POS: DET},
"DET": { "pos": "DET"}, "DET": { POS: DET},
"INTJ___": {"morph": "_", "pos": "INTJ"}, "INTJ___": {"morph": "_", POS: INTJ},
"NOUN___": {"morph": "_", "pos": "NOUN"}, "NOUN___": {"morph": "_", POS: NOUN},
"NOUN__AdvType=Tim": {"morph": "AdvType=Tim", "pos": "NOUN"}, "NOUN__AdvType=Tim": {"morph": "AdvType=Tim", POS: NOUN},
"NOUN__AdvType=Tim|Gender=Masc|Number=Sing": {"morph": "AdvType=Tim|Gender=Masc|Number=Sing", "pos": "NOUN"}, "NOUN__AdvType=Tim|Gender=Masc|Number=Sing": {"morph": "AdvType=Tim|Gender=Masc|Number=Sing", POS: NOUN},
"NOUN__Gender=Fem": {"morph": "Gender=Fem", "pos": "NOUN"}, "NOUN__Gender=Fem": {"morph": "Gender=Fem", POS: NOUN},
"NOUN__Gender=Fem|Number=Plur": {"morph": "Gender=Fem|Number=Plur", "pos": "NOUN"}, "NOUN__Gender=Fem|Number=Plur": {"morph": "Gender=Fem|Number=Plur", POS: NOUN},
"NOUN__Gender=Fem|Number=Sing": {"morph": "Gender=Fem|Number=Sing", "pos": "NOUN"}, "NOUN__Gender=Fem|Number=Sing": {"morph": "Gender=Fem|Number=Sing", POS: NOUN},
"NOUN__Gender=Masc": {"morph": "Gender=Masc", "pos": "NOUN"}, "NOUN__Gender=Masc": {"morph": "Gender=Masc", POS: NOUN},
"NOUN__Gender=Masc|Number=Plur": {"morph": "Gender=Masc|Number=Plur", "pos": "NOUN"}, "NOUN__Gender=Masc|Number=Plur": {"morph": "Gender=Masc|Number=Plur", POS: NOUN},
"NOUN__Gender=Masc|Number=Sing": {"morph": "Gender=Masc|Number=Sing", "pos": "NOUN"}, "NOUN__Gender=Masc|Number=Sing": {"morph": "Gender=Masc|Number=Sing", POS: NOUN},
"NOUN__Gender=Masc|Number=Sing|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|VerbForm=Part", "pos": "NOUN"}, "NOUN__Gender=Masc|Number=Sing|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|VerbForm=Part", POS: NOUN},
"NOUN__Number=Plur": {"morph": "Number=Plur", "pos": "NOUN"}, "NOUN__Number=Plur": {"morph": "Number=Plur", POS: NOUN},
"NOUN__Number=Sing": {"morph": "Number=Sing", "pos": "NOUN"}, "NOUN__Number=Sing": {"morph": "Number=Sing", POS: NOUN},
"NOUN__NumForm=Digit": {"morph": "NumForm=Digit", "pos": "NOUN"}, "NOUN__NumForm=Digit": {"morph": "NumForm=Digit", POS: NOUN},
"NUM__Gender=Fem|Number=Plur|NumType=Card": {"morph": "Gender=Fem|Number=Plur|NumType=Card", "pos": "NUM"}, "NUM__Gender=Fem|Number=Plur|NumType=Card": {"morph": "Gender=Fem|Number=Plur|NumType=Card", POS: NUM},
"NUM__Gender=Fem|Number=Sing|NumType=Card": {"morph": "Gender=Fem|Number=Sing|NumType=Card", "pos": "NUM"}, "NUM__Gender=Fem|Number=Sing|NumType=Card": {"morph": "Gender=Fem|Number=Sing|NumType=Card", POS: NUM},
"NUM__Gender=Masc|Number=Plur|NumType=Card": {"morph": "Gender=Masc|Number=Plur|NumType=Card", "pos": "NUM"}, "NUM__Gender=Masc|Number=Plur|NumType=Card": {"morph": "Gender=Masc|Number=Plur|NumType=Card", POS: NUM},
"NUM__Gender=Masc|Number=Sing|NumType=Card": {"morph": "Gender=Masc|Number=Sing|NumType=Card", "pos": "NUM"}, "NUM__Gender=Masc|Number=Sing|NumType=Card": {"morph": "Gender=Masc|Number=Sing|NumType=Card", POS: NUM},
"NUM__Number=Plur|NumType=Card": {"morph": "Number=Plur|NumType=Card", "pos": "NUM"}, "NUM__Number=Plur|NumType=Card": {"morph": "Number=Plur|NumType=Card", POS: NUM},
"NUM__Number=Sing|NumType=Card": {"morph": "Number=Sing|NumType=Card", "pos": "NUM"}, "NUM__Number=Sing|NumType=Card": {"morph": "Number=Sing|NumType=Card", POS: NUM},
"NUM__NumForm=Digit": {"morph": "NumForm=Digit", "pos": "NUM"}, "NUM__NumForm=Digit": {"morph": "NumForm=Digit", POS: NUM},
"NUM__NumForm=Digit|NumType=Card": {"morph": "NumForm=Digit|NumType=Card", "pos": "NUM"}, "NUM__NumForm=Digit|NumType=Card": {"morph": "NumForm=Digit|NumType=Card", POS: NUM},
"NUM__NumForm=Digit|NumType=Frac": {"morph": "NumForm=Digit|NumType=Frac", "pos": "NUM"}, "NUM__NumForm=Digit|NumType=Frac": {"morph": "NumForm=Digit|NumType=Frac", POS: NUM},
"NUM__NumType=Card": {"morph": "NumType=Card", "pos": "NUM"}, "NUM__NumType=Card": {"morph": "NumType=Card", POS: NUM},
"PART___": {"morph": "_", "pos": "PART"}, "PART___": {"morph": "_", POS: PART},
"PART__Negative=Neg": {"morph": "Negative=Neg", "pos": "PART"}, "PART__Negative=Neg": {"morph": "Negative=Neg", POS: PART},
"PRON___": {"morph": "_", "pos": "PRON"}, "PRON___": {"morph": "_", POS: PRON},
"PRON__Case=Acc|Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Fem|Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Fem|Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Fem|Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Acc|Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Masc|Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Masc|Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Acc|Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Masc|Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Acc|Gender=Masc|Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Acc|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Acc|Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Acc|Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Acc|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Acc|Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Acc|Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Acc|Person=3|PronType=Prs": {"morph": "Case=Acc|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Acc|Person=3|PronType=Prs": {"morph": "Case=Acc|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Dat|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Dat|Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Dat|Number=Plur|Person=3|PronType=Prs": {"morph": "Case=Dat|Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Dat|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Dat|Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Case=Dat|Number=Sing|Person=3|PronType=Prs": {"morph": "Case=Dat|Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Case=Nom|Number=Sing|Person=1|PronType=Prs": {"morph": "Case=Nom|Number=Sing|Person=1|PronType=Prs", "pos": "PRON"}, "PRON__Case=Nom|Number=Sing|Person=1|PronType=Prs": {"morph": "Case=Nom|Number=Sing|Person=1|PronType=Prs", POS: PRON},
"PRON__Case=Nom|Number=Sing|Person=2|PronType=Prs": {"morph": "Case=Nom|Number=Sing|Person=2|PronType=Prs", "pos": "PRON"}, "PRON__Case=Nom|Number=Sing|Person=2|PronType=Prs": {"morph": "Case=Nom|Number=Sing|Person=2|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Person=3|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"morph": "Gender=Fem|Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Plur|PronType=Dem": {"morph": "Gender=Fem|Number=Plur|PronType=Dem", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|PronType=Dem": {"morph": "Gender=Fem|Number=Plur|PronType=Dem", POS: PRON},
"PRON__Gender=Fem|Number=Plur|PronType=Ind": {"morph": "Gender=Fem|Number=Plur|PronType=Ind", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|PronType=Ind": {"morph": "Gender=Fem|Number=Plur|PronType=Ind", POS: PRON},
"PRON__Gender=Fem|Number=Plur|PronType=Int": {"morph": "Gender=Fem|Number=Plur|PronType=Int", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|PronType=Int": {"morph": "Gender=Fem|Number=Plur|PronType=Int", POS: PRON},
"PRON__Gender=Fem|Number=Plur|PronType=Rel": {"morph": "Gender=Fem|Number=Plur|PronType=Rel", "pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|PronType=Rel": {"morph": "Gender=Fem|Number=Plur|PronType=Rel", POS: PRON},
"PRON__Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Sing|Person=1|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=1|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Person=1|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=1|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=3|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"morph": "Gender=Fem|Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Gender=Fem|Number=Sing|PronType=Dem": {"morph": "Gender=Fem|Number=Sing|PronType=Dem", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|PronType=Dem": {"morph": "Gender=Fem|Number=Sing|PronType=Dem", POS: PRON},
"PRON__Gender=Fem|Number=Sing|PronType=Ind": {"morph": "Gender=Fem|Number=Sing|PronType=Ind", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|PronType=Ind": {"morph": "Gender=Fem|Number=Sing|PronType=Ind", POS: PRON},
"PRON__Gender=Fem|Number=Sing|PronType=Rel": {"morph": "Gender=Fem|Number=Sing|PronType=Rel", "pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|PronType=Rel": {"morph": "Gender=Fem|Number=Sing|PronType=Rel", POS: PRON},
"PRON__Gender=Masc|Number=Plur|Person=1|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=1|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|Person=1|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=1|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Plur|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=2|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=2|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"morph": "Gender=Masc|Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Plur|PronType=Dem": {"morph": "Gender=Masc|Number=Plur|PronType=Dem", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|PronType=Dem": {"morph": "Gender=Masc|Number=Plur|PronType=Dem", POS: PRON},
"PRON__Gender=Masc|Number=Plur|PronType=Ind": {"morph": "Gender=Masc|Number=Plur|PronType=Ind", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|PronType=Ind": {"morph": "Gender=Masc|Number=Plur|PronType=Ind", POS: PRON},
"PRON__Gender=Masc|Number=Plur|PronType=Int": {"morph": "Gender=Masc|Number=Plur|PronType=Int", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|PronType=Int": {"morph": "Gender=Masc|Number=Plur|PronType=Int", POS: PRON},
"PRON__Gender=Masc|Number=Plur|PronType=Rel": {"morph": "Gender=Masc|Number=Plur|PronType=Rel", "pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|PronType=Rel": {"morph": "Gender=Masc|Number=Plur|PronType=Rel", POS: PRON},
"PRON__Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Sing|Person=1|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Number[psor]=Sing|Person=2|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Person=3|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"morph": "Gender=Masc|Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Dem": {"morph": "Gender=Masc|Number=Sing|PronType=Dem", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Dem": {"morph": "Gender=Masc|Number=Sing|PronType=Dem", POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Ind": {"morph": "Gender=Masc|Number=Sing|PronType=Ind", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Ind": {"morph": "Gender=Masc|Number=Sing|PronType=Ind", POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Int": {"morph": "Gender=Masc|Number=Sing|PronType=Int", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Int": {"morph": "Gender=Masc|Number=Sing|PronType=Int", POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Rel": {"morph": "Gender=Masc|Number=Sing|PronType=Rel", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Rel": {"morph": "Gender=Masc|Number=Sing|PronType=Rel", POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Tot": {"morph": "Gender=Masc|Number=Sing|PronType=Tot", "pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Tot": {"morph": "Gender=Masc|Number=Sing|PronType=Tot", POS: PRON},
"PRON__Number=Plur|Person=1": {"morph": "Number=Plur|Person=1", "pos": "PRON"}, "PRON__Number=Plur|Person=1": {"morph": "Number=Plur|Person=1", POS: PRON},
"PRON__Number=Plur|Person=1|PronType=Prs": {"morph": "Number=Plur|Person=1|PronType=Prs", "pos": "PRON"}, "PRON__Number=Plur|Person=1|PronType=Prs": {"morph": "Number=Plur|Person=1|PronType=Prs", POS: PRON},
"PRON__Number=Plur|Person=2|Polite=Form|PronType=Prs": {"morph": "Number=Plur|Person=2|Polite=Form|PronType=Prs", "pos": "PRON"}, "PRON__Number=Plur|Person=2|Polite=Form|PronType=Prs": {"morph": "Number=Plur|Person=2|Polite=Form|PronType=Prs", POS: PRON},
"PRON__Number=Plur|Person=2|PronType=Prs": {"morph": "Number=Plur|Person=2|PronType=Prs", "pos": "PRON"}, "PRON__Number=Plur|Person=2|PronType=Prs": {"morph": "Number=Plur|Person=2|PronType=Prs", POS: PRON},
"PRON__Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Person=3|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Number=Plur|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Plur|Person=3|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Number=Plur|Person=3|PronType=Prs": {"morph": "Number=Plur|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Number=Plur|Person=3|PronType=Prs": {"morph": "Number=Plur|Person=3|PronType=Prs", POS: PRON},
"PRON__Number=Plur|PronType=Dem": {"morph": "Number=Plur|PronType=Dem", "pos": "PRON"}, "PRON__Number=Plur|PronType=Dem": {"morph": "Number=Plur|PronType=Dem", POS: PRON},
"PRON__Number=Plur|PronType=Ind": {"morph": "Number=Plur|PronType=Ind", "pos": "PRON"}, "PRON__Number=Plur|PronType=Ind": {"morph": "Number=Plur|PronType=Ind", POS: PRON},
"PRON__Number=Plur|PronType=Int": {"morph": "Number=Plur|PronType=Int", "pos": "PRON"}, "PRON__Number=Plur|PronType=Int": {"morph": "Number=Plur|PronType=Int", POS: PRON},
"PRON__Number=Plur|PronType=Rel": {"morph": "Number=Plur|PronType=Rel", "pos": "PRON"}, "PRON__Number=Plur|PronType=Rel": {"morph": "Number=Plur|PronType=Rel", POS: PRON},
"PRON__Number=Sing|Person=1": {"morph": "Number=Sing|Person=1", "pos": "PRON"}, "PRON__Number=Sing|Person=1": {"morph": "Number=Sing|Person=1", POS: PRON},
"PRON__Number=Sing|Person=1|PrepCase=Pre|PronType=Prs": {"morph": "Number=Sing|Person=1|PrepCase=Pre|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=1|PrepCase=Pre|PronType=Prs": {"morph": "Number=Sing|Person=1|PrepCase=Pre|PronType=Prs", POS: PRON},
"PRON__Number=Sing|Person=1|PronType=Prs": {"morph": "Number=Sing|Person=1|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=1|PronType=Prs": {"morph": "Number=Sing|Person=1|PronType=Prs", POS: PRON},
"PRON__Number=Sing|Person=2": {"morph": "Number=Sing|Person=2", "pos": "PRON"}, "PRON__Number=Sing|Person=2": {"morph": "Number=Sing|Person=2", POS: PRON},
"PRON__Number=Sing|Person=2|Polite=Form|PronType=Prs": {"morph": "Number=Sing|Person=2|Polite=Form|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=2|Polite=Form|PronType=Prs": {"morph": "Number=Sing|Person=2|Polite=Form|PronType=Prs", POS: PRON},
"PRON__Number=Sing|Person=2|PrepCase=Pre|PronType=Prs": {"morph": "Number=Sing|Person=2|PrepCase=Pre|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=2|PrepCase=Pre|PronType=Prs": {"morph": "Number=Sing|Person=2|PrepCase=Pre|PronType=Prs", POS: PRON},
"PRON__Number=Sing|Person=2|PronType=Prs": {"morph": "Number=Sing|Person=2|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=2|PronType=Prs": {"morph": "Number=Sing|Person=2|PronType=Prs", POS: PRON},
"PRON__Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Person=3|Poss=Yes|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=3|Poss=Yes|PronType=Prs": {"morph": "Number=Sing|Person=3|Poss=Yes|PronType=Prs", POS: PRON},
"PRON__Number=Sing|Person=3|PronType=Prs": {"morph": "Number=Sing|Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Number=Sing|Person=3|PronType=Prs": {"morph": "Number=Sing|Person=3|PronType=Prs", POS: PRON},
"PRON__Number=Sing|PronType=Dem": {"morph": "Number=Sing|PronType=Dem", "pos": "PRON"}, "PRON__Number=Sing|PronType=Dem": {"morph": "Number=Sing|PronType=Dem", POS: PRON},
"PRON__Number=Sing|PronType=Ind": {"morph": "Number=Sing|PronType=Ind", "pos": "PRON"}, "PRON__Number=Sing|PronType=Ind": {"morph": "Number=Sing|PronType=Ind", POS: PRON},
"PRON__Number=Sing|PronType=Int": {"morph": "Number=Sing|PronType=Int", "pos": "PRON"}, "PRON__Number=Sing|PronType=Int": {"morph": "Number=Sing|PronType=Int", POS: PRON},
"PRON__Number=Sing|PronType=Rel": {"morph": "Number=Sing|PronType=Rel", "pos": "PRON"}, "PRON__Number=Sing|PronType=Rel": {"morph": "Number=Sing|PronType=Rel", POS: PRON},
"PRON__Person=1|PronType=Prs": {"morph": "Person=1|PronType=Prs", "pos": "PRON"}, "PRON__Person=1|PronType=Prs": {"morph": "Person=1|PronType=Prs", POS: PRON},
"PRON__Person=3": {"morph": "Person=3", "pos": "PRON"}, "PRON__Person=3": {"morph": "Person=3", POS: PRON},
"PRON__Person=3|PrepCase=Pre|PronType=Prs": {"morph": "Person=3|PrepCase=Pre|PronType=Prs", "pos": "PRON"}, "PRON__Person=3|PrepCase=Pre|PronType=Prs": {"morph": "Person=3|PrepCase=Pre|PronType=Prs", POS: PRON},
"PRON__Person=3|PronType=Prs": {"morph": "Person=3|PronType=Prs", "pos": "PRON"}, "PRON__Person=3|PronType=Prs": {"morph": "Person=3|PronType=Prs", POS: PRON},
"PRON__PronType=Ind": {"morph": "PronType=Ind", "pos": "PRON"}, "PRON__PronType=Ind": {"morph": "PronType=Ind", POS: PRON},
"PRON__PronType=Int": {"morph": "PronType=Int", "pos": "PRON"}, "PRON__PronType=Int": {"morph": "PronType=Int", POS: PRON},
"PRON__PronType=Rel": {"morph": "PronType=Rel", "pos": "PRON"}, "PRON__PronType=Rel": {"morph": "PronType=Rel", POS: PRON},
"PROPN___": {"morph": "_", "pos": "PROPN"}, "PROPN___": {"morph": "_", POS: PROPN},
"PUNCT___": {"morph": "_", "pos": "PUNCT"}, "PUNCT___": {"morph": "_", POS: PUNCT},
"PUNCT__PunctSide=Fin|PunctType=Brck": {"morph": "PunctSide=Fin|PunctType=Brck", "pos": "PUNCT"}, "PUNCT__PunctSide=Fin|PunctType=Brck": {"morph": "PunctSide=Fin|PunctType=Brck", POS: PUNCT},
"PUNCT__PunctSide=Fin|PunctType=Excl": {"morph": "PunctSide=Fin|PunctType=Excl", "pos": "PUNCT"}, "PUNCT__PunctSide=Fin|PunctType=Excl": {"morph": "PunctSide=Fin|PunctType=Excl", POS: PUNCT},
"PUNCT__PunctSide=Fin|PunctType=Qest": {"morph": "PunctSide=Fin|PunctType=Qest", "pos": "PUNCT"}, "PUNCT__PunctSide=Fin|PunctType=Qest": {"morph": "PunctSide=Fin|PunctType=Qest", POS: PUNCT},
"PUNCT__PunctSide=Ini|PunctType=Brck": {"morph": "PunctSide=Ini|PunctType=Brck", "pos": "PUNCT"}, "PUNCT__PunctSide=Ini|PunctType=Brck": {"morph": "PunctSide=Ini|PunctType=Brck", POS: PUNCT},
"PUNCT__PunctSide=Ini|PunctType=Excl": {"morph": "PunctSide=Ini|PunctType=Excl", "pos": "PUNCT"}, "PUNCT__PunctSide=Ini|PunctType=Excl": {"morph": "PunctSide=Ini|PunctType=Excl", POS: PUNCT},
"PUNCT__PunctSide=Ini|PunctType=Qest": {"morph": "PunctSide=Ini|PunctType=Qest", "pos": "PUNCT"}, "PUNCT__PunctSide=Ini|PunctType=Qest": {"morph": "PunctSide=Ini|PunctType=Qest", POS: PUNCT},
"PUNCT__PunctType=Colo": {"morph": "PunctType=Colo", "pos": "PUNCT"}, "PUNCT__PunctType=Colo": {"morph": "PunctType=Colo", POS: PUNCT},
"PUNCT__PunctType=Comm": {"morph": "PunctType=Comm", "pos": "PUNCT"}, "PUNCT__PunctType=Comm": {"morph": "PunctType=Comm", POS: PUNCT},
"PUNCT__PunctType=Dash": {"morph": "PunctType=Dash", "pos": "PUNCT"}, "PUNCT__PunctType=Dash": {"morph": "PunctType=Dash", POS: PUNCT},
"PUNCT__PunctType=Peri": {"morph": "PunctType=Peri", "pos": "PUNCT"}, "PUNCT__PunctType=Peri": {"morph": "PunctType=Peri", POS: PUNCT},
"PUNCT__PunctType=Quot": {"morph": "PunctType=Quot", "pos": "PUNCT"}, "PUNCT__PunctType=Quot": {"morph": "PunctType=Quot", POS: PUNCT},
"PUNCT__PunctType=Semi": {"morph": "PunctType=Semi", "pos": "PUNCT"}, "PUNCT__PunctType=Semi": {"morph": "PunctType=Semi", POS: PUNCT},
"SCONJ___": {"morph": "_", "pos": "SCONJ"}, "SCONJ___": {"morph": "_", POS: SCONJ},
"SYM___": {"morph": "_", "pos": "SYM"}, "SYM___": {"morph": "_", POS: SYM},
"SYM__NumForm=Digit": {"morph": "NumForm=Digit", "pos": "SYM"}, "SYM__NumForm=Digit": {"morph": "NumForm=Digit", POS: SYM},
"SYM__NumForm=Digit|NumType=Frac": {"morph": "NumForm=Digit|NumType=Frac", "pos": "SYM"}, "SYM__NumForm=Digit|NumType=Frac": {"morph": "NumForm=Digit|NumType=Frac", POS: SYM},
"VERB__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part", "pos": "VERB"}, "VERB__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part", POS: VERB},
"VERB__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part", "pos": "VERB"}, "VERB__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part", POS: VERB},
"VERB__Gender=Masc|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Gender=Masc|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Gender=Masc|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Gender=Masc|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part", "pos": "VERB"}, "VERB__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part", POS: VERB},
"VERB__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part", "pos": "VERB"}, "VERB__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"morph": "Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part", POS: VERB},
"VERB__Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=1|VerbForm=Fin", POS: VERB},
"VERB__Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Plur|Person=3|VerbForm=Fin", POS: VERB},
"VERB__Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=1|VerbForm=Fin", POS: VERB},
"VERB__Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=2|VerbForm=Fin", POS: VERB},
"VERB__Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Cnd|Number=Sing|Person=3|VerbForm=Fin", POS: VERB},
"VERB__Mood=Imp|Number=Plur|Person=1|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=1|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Imp|Number=Plur|Person=1|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=1|VerbForm=Fin", POS: VERB},
"VERB__Mood=Imp|Number=Plur|Person=2|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=2|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Imp|Number=Plur|Person=2|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=2|VerbForm=Fin", POS: VERB},
"VERB__Mood=Imp|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=3|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Imp|Number=Plur|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Plur|Person=3|VerbForm=Fin", POS: VERB},
"VERB__Mood=Imp|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=2|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Imp|Number=Sing|Person=2|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=2|VerbForm=Fin", POS: VERB},
"VERB__Mood=Imp|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=3|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Imp|Number=Sing|Person=3|VerbForm=Fin": {"morph": "Mood=Imp|Number=Sing|Person=3|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=2|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Past|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=2|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Past|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin", POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", "pos": "VERB"}, "VERB__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"morph": "Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin", POS: VERB},
"VERB__VerbForm=Ger": {"morph": "VerbForm=Ger", "pos": "VERB"}, "VERB__VerbForm=Ger": {"morph": "VerbForm=Ger", POS: VERB},
"VERB__VerbForm=Inf": {"morph": "VerbForm=Inf", "pos": "VERB"}, "VERB__VerbForm=Inf": {"morph": "VerbForm=Inf", POS: VERB},
"X___": {"morph": "_", "pos": "X"}, "X___": {"morph": "_", POS: X},
"_SP": {"morph": "_", "pos": "SPACE"}, "_SP": {"morph": "_", POS: SPACE},
} }

View File

@ -1,216 +1,219 @@
# coding: utf8 # coding: utf8
from __future__ import unicode_literals from __future__ import unicode_literals
from ...symbols import POS, PUNCT, ADJ, CCONJ, NUM, DET, ADV, ADP, X, VERB
from ...symbols import NOUN, PROPN, PART, INTJ, SPACE, PRON, AUX, SCONJ
TAG_MAP = { TAG_MAP = {
"ADJ__Gender=Fem|Number=Plur": {"pos": "PRON"}, "ADJ__Gender=Fem|Number=Plur": {POS: ADJ},
"ADJ__Gender=Fem|Number=Plur|NumType=Ord": {"pos": "PRON"}, "ADJ__Gender=Fem|Number=Plur|NumType=Ord": {POS: ADJ},
"ADJ__Gender=Fem|Number=Sing": {"pos": "PRON"}, "ADJ__Gender=Fem|Number=Sing": {POS: ADJ},
"ADJ__Gender=Fem|Number=Sing|NumType=Ord": {"pos": "PRON"}, "ADJ__Gender=Fem|Number=Sing|NumType=Ord": {POS: ADJ},
"ADJ__Gender=Masc": {"pos": "PRON"}, "ADJ__Gender=Masc": {POS: ADJ},
"ADJ__Gender=Masc|Number=Plur": {"pos": "PRON"}, "ADJ__Gender=Masc|Number=Plur": {POS: ADJ},
"ADJ__Gender=Masc|Number=Plur|NumType=Ord": {"pos": "PRON"}, "ADJ__Gender=Masc|Number=Plur|NumType=Ord": {POS: ADJ},
"ADJ__Gender=Masc|Number=Sing": {"pos": "PRON"}, "ADJ__Gender=Masc|Number=Sing": {POS: ADJ},
"ADJ__Gender=Masc|Number=Sing|NumType=Card": {"pos": "PRON"}, "ADJ__Gender=Masc|Number=Sing|NumType=Card": {POS: ADJ},
"ADJ__Gender=Masc|Number=Sing|NumType=Ord": {"pos": "PRON"}, "ADJ__Gender=Masc|Number=Sing|NumType=Ord": {POS: ADJ},
"ADJ__NumType=Card": {"pos": "PRON"}, "ADJ__NumType=Card": {POS: ADJ},
"ADJ__NumType=Ord": {"pos": "PRON"}, "ADJ__NumType=Ord": {POS: ADJ},
"ADJ__Number=Plur": {"pos": "PRON"}, "ADJ__Number=Plur": {POS: ADJ},
"ADJ__Number=Sing": {"pos": "PRON"}, "ADJ__Number=Sing": {POS: ADJ},
"ADJ__Number=Sing|NumType=Ord": {"pos": "PRON"}, "ADJ__Number=Sing|NumType=Ord": {POS: ADJ},
"ADJ___": {"pos": "PRON"}, "ADJ___": {POS: ADJ},
"ADP__Gender=Fem|Number=Plur|Person=3": {"pos": "PRON"}, "ADP__Gender=Fem|Number=Plur|Person=3": {POS: ADP},
"ADP__Gender=Masc|Number=Plur|Person=3": {"pos": "PRON"}, "ADP__Gender=Masc|Number=Plur|Person=3": {POS: ADP},
"ADP__Gender=Masc|Number=Sing|Person=3": {"pos": "PRON"}, "ADP__Gender=Masc|Number=Sing|Person=3": {POS: ADP},
"ADP___": {"pos": "PRON"}, "ADP___": {POS: ADP},
"ADV__Polarity=Neg": {"pos": "PRON"}, "ADV__Polarity=Neg": {POS: ADV},
"ADV__PronType=Int": {"pos": "PRON"}, "ADV__PronType=Int": {POS: ADV},
"ADV___": {"pos": "PRON"}, "ADV___": {POS: ADV},
"AUX__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "AUX__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {POS: AUX},
"AUX__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "AUX__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {POS: AUX},
"AUX__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "AUX__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {POS: AUX},
"AUX__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "AUX__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {POS: AUX},
"AUX__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "AUX__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {POS: AUX},
"AUX__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "AUX__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {POS: AUX},
"AUX__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "AUX__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {POS: AUX},
"AUX__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "AUX__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {POS: AUX},
"AUX__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Cnd|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Cnd|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "AUX__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"AUX__Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "AUX__Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {POS: AUX},
"AUX__Tense=Past|VerbForm=Part": {"pos": "PRON"}, "AUX__Tense=Past|VerbForm=Part": {POS: AUX},
"AUX__Tense=Pres|VerbForm=Part": {"pos": "PRON"}, "AUX__Tense=Pres|VerbForm=Part": {POS: AUX},
"AUX__VerbForm=Inf": {"pos": "PRON"}, "AUX__VerbForm=Inf": {POS: AUX},
"CCONJ___": {"pos": "PRON"}, "CCONJ___": {POS: CCONJ},
"DET__Definite=Def|Gender=Fem|Number=Sing|PronType=Art": {"pos": "PRON"}, "DET__Definite=Def|Gender=Fem|Number=Sing|PronType=Art": {POS: DET},
"DET__Definite=Def|Gender=Masc|Number=Sing|PronType=Art": {"pos": "PRON"}, "DET__Definite=Def|Gender=Masc|Number=Sing|PronType=Art": {POS: DET},
"DET__Definite=Def|Number=Plur|PronType=Art": {"pos": "PRON"}, "DET__Definite=Def|Number=Plur|PronType=Art": {POS: DET},
"DET__Definite=Def|Number=Sing|PronType=Art": {"pos": "PRON"}, "DET__Definite=Def|Number=Sing|PronType=Art": {POS: DET},
"DET__Definite=Ind|Gender=Fem|Number=Plur|PronType=Art": {"pos": "PRON"}, "DET__Definite=Ind|Gender=Fem|Number=Plur|PronType=Art": {POS: DET},
"DET__Definite=Ind|Gender=Fem|Number=Sing|PronType=Art": {"pos": "PRON"}, "DET__Definite=Ind|Gender=Fem|Number=Sing|PronType=Art": {POS: DET},
"DET__Definite=Ind|Gender=Masc|Number=Plur|PronType=Art": {"pos": "PRON"}, "DET__Definite=Ind|Gender=Masc|Number=Plur|PronType=Art": {POS: DET},
"DET__Definite=Ind|Gender=Masc|Number=Sing|PronType=Art": {"pos": "PRON"}, "DET__Definite=Ind|Gender=Masc|Number=Sing|PronType=Art": {POS: DET},
"DET__Definite=Ind|Number=Plur|PronType=Art": {"pos": "PRON"}, "DET__Definite=Ind|Number=Plur|PronType=Art": {POS: DET},
"DET__Definite=Ind|Number=Sing|PronType=Art": {"pos": "PRON"}, "DET__Definite=Ind|Number=Sing|PronType=Art": {POS: DET},
"DET__Gender=Fem|Number=Plur": {"pos": "PRON"}, "DET__Gender=Fem|Number=Plur": {POS: DET},
"DET__Gender=Fem|Number=Plur|PronType=Int": {"pos": "PRON"}, "DET__Gender=Fem|Number=Plur|PronType=Int": {POS: DET},
"DET__Gender=Fem|Number=Sing": {"pos": "PRON"}, "DET__Gender=Fem|Number=Sing": {POS: DET},
"DET__Gender=Fem|Number=Sing|Poss=Yes": {"pos": "PRON"}, "DET__Gender=Fem|Number=Sing|Poss=Yes": {POS: DET},
"DET__Gender=Fem|Number=Sing|PronType=Dem": {"pos": "PRON"}, "DET__Gender=Fem|Number=Sing|PronType=Dem": {POS: DET},
"DET__Gender=Fem|Number=Sing|PronType=Int": {"pos": "PRON"}, "DET__Gender=Fem|Number=Sing|PronType=Int": {POS: DET},
"DET__Gender=Masc|Number=Plur": {"pos": "PRON"}, "DET__Gender=Masc|Number=Plur": {POS: DET},
"DET__Gender=Masc|Number=Sing": {"pos": "PRON"}, "DET__Gender=Masc|Number=Sing": {POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Dem": {"pos": "PRON"}, "DET__Gender=Masc|Number=Sing|PronType=Dem": {POS: DET},
"DET__Gender=Masc|Number=Sing|PronType=Int": {"pos": "PRON"}, "DET__Gender=Masc|Number=Sing|PronType=Int": {POS: DET},
"DET__Number=Plur": {"pos": "PRON"}, "DET__Number=Plur": {POS: DET},
"DET__Number=Plur|Poss=Yes": {"pos": "PRON"}, "DET__Number=Plur|Poss=Yes": {POS: DET},
"DET__Number=Plur|PronType=Dem": {"pos": "PRON"}, "DET__Number=Plur|PronType=Dem": {POS: DET},
"DET__Number=Sing": {"pos": "PRON"}, "DET__Number=Sing": {POS: DET},
"DET__Number=Sing|Poss=Yes": {"pos": "PRON"}, "DET__Number=Sing|Poss=Yes": {POS: DET},
"DET___": {"pos": "PRON"}, "DET___": {POS: DET},
"INTJ___": {"pos": "PRON"}, "INTJ___": {POS: INTJ},
"NOUN__Gender=Fem": {"pos": "PRON"}, "NOUN__Gender=Fem": {POS: NOUN},
"NOUN__Gender=Fem|Number=Plur": {"pos": "PRON"}, "NOUN__Gender=Fem|Number=Plur": {POS: NOUN},
"NOUN__Gender=Fem|Number=Sing": {"pos": "PRON"}, "NOUN__Gender=Fem|Number=Sing": {POS: NOUN},
"NOUN__Gender=Masc": {"pos": "PRON"}, "NOUN__Gender=Masc": {POS: NOUN},
"NOUN__Gender=Masc|Number=Plur": {"pos": "PRON"}, "NOUN__Gender=Masc|Number=Plur": {POS: NOUN},
"NOUN__Gender=Masc|Number=Plur|NumType=Card": {"pos": "PRON"}, "NOUN__Gender=Masc|Number=Plur|NumType=Card": {POS: NOUN},
"NOUN__Gender=Masc|Number=Sing": {"pos": "PRON"}, "NOUN__Gender=Masc|Number=Sing": {POS: NOUN},
"NOUN__Gender=Masc|Number=Sing|NumType=Card": {"pos": "PRON"}, "NOUN__Gender=Masc|Number=Sing|NumType=Card": {POS: NOUN},
"NOUN__NumType=Card": {"pos": "PRON"}, "NOUN__NumType=Card": {POS: NOUN},
"NOUN__Number=Plur": {"pos": "PRON"}, "NOUN__Number=Plur": {POS: NOUN},
"NOUN__Number=Sing": {"pos": "PRON"}, "NOUN__Number=Sing": {POS: NOUN},
"NOUN___": {"pos": "PRON"}, "NOUN___": {POS: NOUN},
"NUM__Gender=Masc|Number=Plur|NumType=Card": {"pos": "PRON"}, "NUM__Gender=Masc|Number=Plur|NumType=Card": {POS: NUM},
"NUM__NumType=Card": {"pos": "PRON"}, "NUM__NumType=Card": {POS: NUM},
"PART___": {"pos": "PRON"}, "PART___": {POS: PART},
"PRON__Gender=Fem|Number=Plur": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Plur": {POS: PRON},
"PRON__Gender=Fem|Number=Plur|Person=3": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|Person=3": {POS: PRON},
"PRON__Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PRON__Gender=Fem|Number=Plur|Person=3|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|Person=3|PronType=Rel": {POS: PRON},
"PRON__Gender=Fem|Number=Plur|PronType=Dem": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|PronType=Dem": {POS: PRON},
"PRON__Gender=Fem|Number=Plur|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Plur|PronType=Rel": {POS: PRON},
"PRON__Gender=Fem|Number=Sing|Person=3": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Person=3": {POS: PRON},
"PRON__Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PRON__Gender=Fem|Number=Sing|PronType=Dem": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|PronType=Dem": {POS: PRON},
"PRON__Gender=Fem|Number=Sing|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Fem|Number=Sing|PronType=Rel": {POS: PRON},
"PRON__Gender=Fem|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Fem|PronType=Rel": {POS: PRON},
"PRON__Gender=Masc|Number=Plur": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Plur": {POS: PRON},
"PRON__Gender=Masc|Number=Plur|Person=3": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|Person=3": {POS: PRON},
"PRON__Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PRON__Gender=Masc|Number=Plur|Person=3|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|Person=3|PronType=Rel": {POS: PRON},
"PRON__Gender=Masc|Number=Plur|PronType=Dem": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|PronType=Dem": {POS: PRON},
"PRON__Gender=Masc|Number=Plur|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Plur|PronType=Rel": {POS: PRON},
"PRON__Gender=Masc|Number=Sing": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Sing": {POS: PRON},
"PRON__Gender=Masc|Number=Sing|Person=3": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Person=3": {POS: PRON},
"PRON__Gender=Masc|Number=Sing|Person=3|PronType=Dem": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Person=3|PronType=Dem": {POS: PRON},
"PRON__Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Dem": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Dem": {POS: PRON},
"PRON__Gender=Masc|Number=Sing|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Masc|Number=Sing|PronType=Rel": {POS: PRON},
"PRON__Gender=Masc|PronType=Rel": {"pos": "PRON"}, "PRON__Gender=Masc|PronType=Rel": {POS: PRON},
"PRON__NumType=Card|PronType=Rel": {"pos": "PRON"}, "PRON__NumType=Card|PronType=Rel": {POS: PRON},
"PRON__Number=Plur|Person=1": {"pos": "PRON"}, "PRON__Number=Plur|Person=1": {POS: PRON},
"PRON__Number=Plur|Person=1|PronType=Prs": {"pos": "PRON"}, "PRON__Number=Plur|Person=1|PronType=Prs": {POS: PRON},
"PRON__Number=Plur|Person=1|Reflex=Yes": {"pos": "PRON"}, "PRON__Number=Plur|Person=1|Reflex=Yes": {POS: PRON},
"PRON__Number=Plur|Person=2": {"pos": "PRON"}, "PRON__Number=Plur|Person=2": {POS: PRON},
"PRON__Number=Plur|Person=2|PronType=Prs": {"pos": "PRON"}, "PRON__Number=Plur|Person=2|PronType=Prs": {POS: PRON},
"PRON__Number=Plur|Person=2|Reflex=Yes": {"pos": "PRON"}, "PRON__Number=Plur|Person=2|Reflex=Yes": {POS: PRON},
"PRON__Number=Plur|Person=3": {"pos": "PRON"}, "PRON__Number=Plur|Person=3": {POS: PRON},
"PRON__Number=Plur|PronType=Rel": {"pos": "PRON"}, "PRON__Number=Plur|PronType=Rel": {POS: PRON},
"PRON__Number=Sing|Person=1": {"pos": "PRON"}, "PRON__Number=Sing|Person=1": {POS: PRON},
"PRON__Number=Sing|Person=1|PronType=Prs": {"pos": "PRON"}, "PRON__Number=Sing|Person=1|PronType=Prs": {POS: PRON},
"PRON__Number=Sing|Person=1|Reflex=Yes": {"pos": "PRON"}, "PRON__Number=Sing|Person=1|Reflex=Yes": {POS: PRON},
"PRON__Number=Sing|Person=2|PronType=Prs": {"pos": "PRON"}, "PRON__Number=Sing|Person=2|PronType=Prs": {POS: PRON},
"PRON__Number=Sing|Person=3": {"pos": "PRON"}, "PRON__Number=Sing|Person=3": {POS: PRON},
"PRON__Number=Sing|PronType=Dem": {"pos": "PRON"}, "PRON__Number=Sing|PronType=Dem": {POS: PRON},
"PRON__Number=Sing|PronType=Rel": {"pos": "PRON"}, "PRON__Number=Sing|PronType=Rel": {POS: PRON},
"PRON__Person=3": {"pos": "PRON"}, "PRON__Person=3": {POS: PRON},
"PRON__Person=3|Reflex=Yes": {"pos": "PRON"}, "PRON__Person=3|Reflex=Yes": {POS: PRON},
"PRON__PronType=Int": {"pos": "PRON"}, "PRON__PronType=Int": {POS: PRON},
"PRON__PronType=Rel": {"pos": "PRON"}, "PRON__PronType=Rel": {POS: PRON},
"PRON___": {"pos": "PRON"}, "PRON___": {POS: PRON},
"PROPN__Gender=Fem|Number=Plur": {"pos": "PRON"}, "PROPN__Gender=Fem|Number=Plur": {POS: PROPN},
"PROPN__Gender=Fem|Number=Sing": {"pos": "PRON"}, "PROPN__Gender=Fem|Number=Sing": {POS: PROPN},
"PROPN__Gender=Masc": {"pos": "PRON"}, "PROPN__Gender=Masc": {POS: PROPN},
"PROPN__Gender=Masc|Number=Plur": {"pos": "PRON"}, "PROPN__Gender=Masc|Number=Plur": {POS: PROPN},
"PROPN__Gender=Masc|Number=Sing": {"pos": "PRON"}, "PROPN__Gender=Masc|Number=Sing": {POS: PROPN},
"PROPN__Number=Plur": {"pos": "PRON"}, "PROPN__Number=Plur": {POS: PROPN},
"PROPN__Number=Sing": {"pos": "PRON"}, "PROPN__Number=Sing": {POS: PROPN},
"PROPN___": {"pos": "PRON"}, "PROPN___": {POS: PROPN},
"PUNCT___": {"pos": "PRON"}, "PUNCT___": {POS: PUNCT},
"SCONJ___": {"pos": "PRON"}, "SCONJ___": {POS: SCONJ},
"VERB__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Gender=Masc|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Gender=Masc|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Gender=Masc|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Gender=Masc|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Imp|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Imp|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Imp|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Imp|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=2|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=2|Tense=Imp|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|Person=3|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|Person=3|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Ind|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Ind|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Sub|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {POS: VERB},
"VERB__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "PRON"}, "VERB__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"VERB__Number=Plur|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Number=Plur|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Number=Plur|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Number=Sing|Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Number=Sing|Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Number=Sing|Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Tense=Past|VerbForm=Part": {"pos": "PRON"}, "VERB__Tense=Past|VerbForm=Part": {POS: VERB},
"VERB__Tense=Past|VerbForm=Part|Voice=Pass": {"pos": "PRON"}, "VERB__Tense=Past|VerbForm=Part|Voice=Pass": {POS: VERB},
"VERB__Tense=Pres|VerbForm=Part": {"pos": "PRON"}, "VERB__Tense=Pres|VerbForm=Part": {POS: VERB},
"VERB__VerbForm=Inf": {"pos": "PRON"}, "VERB__VerbForm=Inf": {POS: VERB},
"VERB__VerbForm=Part": {"pos": "PRON"}, "VERB__VerbForm=Part": {POS: VERB},
"X___": {"pos": "PRON"}, "X___": {POS: X},
"_SP": {"pos": "PRON"} "_SP": {POS: SPACE}
} }

View File

@ -1,320 +1,323 @@
# coding: utf8 # coding: utf8
from __future__ import unicode_literals from __future__ import unicode_literals
from ...symbols import POS, PUNCT, SYM, ADJ, NUM, DET, ADV, ADP, X, VERB
from ...symbols import NOUN, PROPN, PART, INTJ, SPACE, PRON, SCONJ, AUX, CONJ
TAG_MAP = { TAG_MAP = {
"AP__Gender=Fem|Number=Plur|Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Gender=Fem|Number=Plur|Poss=Yes|PronType=Prs": {POS: DET},
"AP__Gender=Fem|Number=Sing|Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Gender=Fem|Number=Sing|Poss=Yes|PronType=Prs": {POS: DET},
"AP__Gender=Masc|Number=Plur|Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Gender=Masc|Number=Plur|Poss=Yes|PronType=Prs": {POS: DET},
"AP__Gender=Masc|Number=Sing|Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Gender=Masc|Number=Sing|Poss=Yes|PronType=Prs": {POS: DET},
"AP__Gender=Masc|Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Gender=Masc|Poss=Yes|PronType=Prs": {POS: DET},
"AP__Number=Sing|Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Number=Sing|Poss=Yes|PronType=Prs": {POS: DET},
"AP__Poss=Yes|PronType=Prs": {"pos": "DET"}, "AP__Poss=Yes|PronType=Prs": {POS: DET},
"A__Degree=Abs|Gender=Fem|Number=Plur": {"pos": "ADJ"}, "A__Degree=Abs|Gender=Fem|Number=Plur": {POS: ADJ},
"A__Degree=Abs|Gender=Fem|Number=Sing": {"pos": "ADJ"}, "A__Degree=Abs|Gender=Fem|Number=Sing": {POS: ADJ},
"A__Degree=Abs|Gender=Masc|Number=Plur": {"pos": "ADJ"}, "A__Degree=Abs|Gender=Masc|Number=Plur": {POS: ADJ},
"A__Degree=Abs|Gender=Masc|Number=Sing": {"pos": "ADJ"}, "A__Degree=Abs|Gender=Masc|Number=Sing": {POS: ADJ},
"A__Degree=Cmp": {"pos": "ADJ"}, "A__Degree=Cmp": {POS: ADJ},
"A__Degree=Cmp|Number=Plur": {"pos": "ADJ"}, "A__Degree=Cmp|Number=Plur": {POS: ADJ},
"A__Degree=Cmp|Number=Sing": {"pos": "ADJ"}, "A__Degree=Cmp|Number=Sing": {POS: ADJ},
"A__Gender=Fem|Number=Plur": {"pos": "ADJ"}, "A__Gender=Fem|Number=Plur": {POS: ADJ},
"A__Gender=Fem|Number=Sing": {"pos": "ADJ"}, "A__Gender=Fem|Number=Sing": {POS: ADJ},
"A__Gender=Fem|Number=Sing|Poss=Yes|PronType=Prs": {"pos": "ADJ"}, "A__Gender=Fem|Number=Sing|Poss=Yes|PronType=Prs": {POS: ADJ},
"A__Gender=Masc": {"pos": "ADJ"}, "A__Gender=Masc": {POS: ADJ},
"A__Gender=Masc|Number=Plur": {"pos": "ADJ"}, "A__Gender=Masc|Number=Plur": {POS: ADJ},
"A__Gender=Masc|Number=Sing": {"pos": "ADJ"}, "A__Gender=Masc|Number=Sing": {POS: ADJ},
"A__Number=Plur": {"pos": "ADJ"}, "A__Number=Plur": {POS: ADJ},
"A__Number=Sing": {"pos": "ADJ"}, "A__Number=Sing": {POS: ADJ},
"A___": {"pos": "ADJ"}, "A___": {POS: ADJ},
"BN__PronType=Neg": {"pos": "ADV"}, "BN__PronType=Neg": {POS: ADV},
"B__Degree=Abs": {"pos": "ADV"}, "B__Degree=Abs": {POS: ADV},
"B__Degree=Abs|Gender=Masc|Number=Sing": {"pos": "ADV"}, "B__Degree=Abs|Gender=Masc|Number=Sing": {POS: ADV},
"B___": {"pos": "ADV"}, "B___": {POS: ADV},
"CC___": {"pos": "CONJ"}, "CC___": {POS: CONJ},
"CS___": {"pos": "SCONJ"}, "CS___": {POS: SCONJ},
"DD__Gender=Fem|Number=Plur|PronType=Dem": {"pos": "DET"}, "DD__Gender=Fem|Number=Plur|PronType=Dem": {POS: DET},
"DD__Gender=Fem|Number=Sing|PronType=Dem": {"pos": "DET"}, "DD__Gender=Fem|Number=Sing|PronType=Dem": {POS: DET},
"DD__Gender=Masc|Number=Plur|PronType=Dem": {"pos": "DET"}, "DD__Gender=Masc|Number=Plur|PronType=Dem": {POS: DET},
"DD__Gender=Masc|Number=Sing|PronType=Dem": {"pos": "DET"}, "DD__Gender=Masc|Number=Sing|PronType=Dem": {POS: DET},
"DD__Gender=Masc|PronType=Dem": {"pos": "DET"}, "DD__Gender=Masc|PronType=Dem": {POS: DET},
"DD__Number=Plur|PronType=Dem": {"pos": "DET"}, "DD__Number=Plur|PronType=Dem": {POS: DET},
"DD__Number=Sing|PronType=Dem": {"pos": "DET"}, "DD__Number=Sing|PronType=Dem": {POS: DET},
"DE__PronType=Exc": {"pos": "DET"}, "DE__PronType=Exc": {POS: DET},
"DI__Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {"pos": "DET"}, "DI__Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {POS: DET},
"DI__Gender=Fem|Number=Plur": {"pos": "DET"}, "DI__Gender=Fem|Number=Plur": {POS: DET},
"DI__Gender=Fem|Number=Plur|PronType=Ind": {"pos": "DET"}, "DI__Gender=Fem|Number=Plur|PronType=Ind": {POS: DET},
"DI__Gender=Fem|Number=Sing|PronType=Ind": {"pos": "DET"}, "DI__Gender=Fem|Number=Sing|PronType=Ind": {POS: DET},
"DI__Gender=Masc|Number=Plur": {"pos": "DET"}, "DI__Gender=Masc|Number=Plur": {POS: DET},
"DI__Gender=Masc|Number=Plur|PronType=Ind": {"pos": "DET"}, "DI__Gender=Masc|Number=Plur|PronType=Ind": {POS: DET},
"DI__Gender=Masc|Number=Sing|PronType=Ind": {"pos": "DET"}, "DI__Gender=Masc|Number=Sing|PronType=Ind": {POS: DET},
"DI__Number=Sing|PronType=Art": {"pos": "DET"}, "DI__Number=Sing|PronType=Art": {POS: DET},
"DI__Number=Sing|PronType=Ind": {"pos": "DET"}, "DI__Number=Sing|PronType=Ind": {POS: DET},
"DI__PronType=Ind": {"pos": "DET"}, "DI__PronType=Ind": {POS: DET},
"DQ__Gender=Fem|Number=Plur|PronType=Int": {"pos": "DET"}, "DQ__Gender=Fem|Number=Plur|PronType=Int": {POS: DET},
"DQ__Gender=Fem|Number=Sing|PronType=Int": {"pos": "DET"}, "DQ__Gender=Fem|Number=Sing|PronType=Int": {POS: DET},
"DQ__Gender=Masc|Number=Plur|PronType=Int": {"pos": "DET"}, "DQ__Gender=Masc|Number=Plur|PronType=Int": {POS: DET},
"DQ__Gender=Masc|Number=Sing|PronType=Int": {"pos": "DET"}, "DQ__Gender=Masc|Number=Sing|PronType=Int": {POS: DET},
"DQ__Number=Plur|PronType=Int": {"pos": "DET"}, "DQ__Number=Plur|PronType=Int": {POS: DET},
"DQ__Number=Sing|PronType=Int": {"pos": "DET"}, "DQ__Number=Sing|PronType=Int": {POS: DET},
"DQ__PronType=Int": {"pos": "DET"}, "DQ__PronType=Int": {POS: DET},
"DQ___": {"pos": "DET"}, "DQ___": {POS: DET},
"DR__Number=Plur|PronType=Rel": {"pos": "DET"}, "DR__Number=Plur|PronType=Rel": {POS: DET},
"DR__PronType=Rel": {"pos": "DET"}, "DR__PronType=Rel": {POS: DET},
"E__Gender=Masc|Number=Sing": {"pos": "ADP"}, "E__Gender=Masc|Number=Sing": {POS: ADP},
"E___": {"pos": "ADP"}, "E___": {POS: ADP},
"FB___": {"pos": "PUNCT"}, "FB___": {POS: PUNCT},
"FC___": {"pos": "PUNCT"}, "FC___": {POS: PUNCT},
"FF___": {"pos": "PUNCT"}, "FF___": {POS: PUNCT},
"FS___": {"pos": "PUNCT"}, "FS___": {POS: PUNCT},
"I__Polarity=Neg": {"pos": "INTJ"}, "I__Polarity=Neg": {POS: INTJ},
"I__Polarity=Pos": {"pos": "INTJ"}, "I__Polarity=Pos": {POS: INTJ},
"I___": {"pos": "INTJ"}, "I___": {POS: INTJ},
"NO__Gender=Fem|Number=Plur|NumType=Ord": {"pos": "ADJ"}, "NO__Gender=Fem|Number=Plur|NumType=Ord": {POS: ADJ},
"NO__Gender=Fem|Number=Sing|NumType=Ord": {"pos": "ADJ"}, "NO__Gender=Fem|Number=Sing|NumType=Ord": {POS: ADJ},
"NO__Gender=Masc|Number=Plur": {"pos": "ADJ"}, "NO__Gender=Masc|Number=Plur": {POS: ADJ},
"NO__Gender=Masc|Number=Plur|NumType=Ord": {"pos": "ADJ"}, "NO__Gender=Masc|Number=Plur|NumType=Ord": {POS: ADJ},
"NO__Gender=Masc|Number=Sing|NumType=Ord": {"pos": "ADJ"}, "NO__Gender=Masc|Number=Sing|NumType=Ord": {POS: ADJ},
"NO__NumType=Ord": {"pos": "ADJ"}, "NO__NumType=Ord": {POS: ADJ},
"NO__Number=Sing|NumType=Ord": {"pos": "ADJ"}, "NO__Number=Sing|NumType=Ord": {POS: ADJ},
"NO___": {"pos": "ADJ"}, "NO___": {POS: ADJ},
"N__Gender=Masc|Number=Sing": {"pos": "NUM"}, "N__Gender=Masc|Number=Sing": {POS: NUM},
"N__NumType=Card": {"pos": "NUM"}, "N__NumType=Card": {POS: NUM},
"N__NumType=Range": {"pos": "NUM"}, "N__NumType=Range": {POS: NUM},
"N___": {"pos": "NUM"}, "N___": {POS: NUM},
"PART___": {"pos": "PART"}, "PART___": {POS: PART},
"PC__Clitic=Yes|Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {"pos": "PRON"}, "PC__Clitic=Yes|Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {POS: PRON},
"PC__Clitic=Yes|Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Fem|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Gender=Fem|Number=Plur|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Fem|Number=Plur|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Fem|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Gender=Fem|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Fem|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Masc|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Masc|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Gender=Masc|Number=Sing|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Gender=Masc|Number=Sing|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Plur|Person=1|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Plur|Person=1|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Plur|Person=2|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Plur|Person=2|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Plur|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Plur|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Sing|Person=1|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Sing|Person=1|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Sing|Person=2|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Sing|Person=2|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|Person=3|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|Person=3|PronType=Prs": {POS: PRON},
"PC__Clitic=Yes|PronType=Prs": {"pos": "PRON"}, "PC__Clitic=Yes|PronType=Prs": {POS: PRON},
"PD__Gender=Fem|Number=Plur|PronType=Dem": {"pos": "PRON"}, "PD__Gender=Fem|Number=Plur|PronType=Dem": {POS: PRON},
"PD__Gender=Fem|Number=Sing|PronType=Dem": {"pos": "PRON"}, "PD__Gender=Fem|Number=Sing|PronType=Dem": {POS: PRON},
"PD__Gender=Masc|Number=Plur|PronType=Dem": {"pos": "PRON"}, "PD__Gender=Masc|Number=Plur|PronType=Dem": {POS: PRON},
"PD__Gender=Masc|Number=Sing|PronType=Dem": {"pos": "PRON"}, "PD__Gender=Masc|Number=Sing|PronType=Dem": {POS: PRON},
"PD__Number=Plur|PronType=Dem": {"pos": "PRON"}, "PD__Number=Plur|PronType=Dem": {POS: PRON},
"PD__Number=Sing|PronType=Dem": {"pos": "PRON"}, "PD__Number=Sing|PronType=Dem": {POS: PRON},
"PD__PronType=Dem": {"pos": "PRON"}, "PD__PronType=Dem": {POS: PRON},
"PE__Gender=Fem|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Gender=Fem|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PE__Gender=Fem|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Gender=Fem|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PE__Gender=Masc|Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Gender=Masc|Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PE__Gender=Masc|Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Gender=Masc|Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PE__Number=Plur|Person=1|PronType=Prs": {"pos": "PRON"}, "PE__Number=Plur|Person=1|PronType=Prs": {POS: PRON},
"PE__Number=Plur|Person=2|PronType=Prs": {"pos": "PRON"}, "PE__Number=Plur|Person=2|PronType=Prs": {POS: PRON},
"PE__Number=Plur|Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Number=Plur|Person=3|PronType=Prs": {POS: PRON},
"PE__Number=Sing|Person=1|PronType=Prs": {"pos": "PRON"}, "PE__Number=Sing|Person=1|PronType=Prs": {POS: PRON},
"PE__Number=Sing|Person=2|PronType=Prs": {"pos": "PRON"}, "PE__Number=Sing|Person=2|PronType=Prs": {POS: PRON},
"PE__Number=Sing|Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Number=Sing|Person=3|PronType=Prs": {POS: PRON},
"PE__Person=3|PronType=Prs": {"pos": "PRON"}, "PE__Person=3|PronType=Prs": {POS: PRON},
"PE__PronType=Prs": {"pos": "PRON"}, "PE__PronType=Prs": {POS: PRON},
"PI__Gender=Fem|Number=Plur|PronType=Ind": {"pos": "PRON"}, "PI__Gender=Fem|Number=Plur|PronType=Ind": {POS: PRON},
"PI__Gender=Fem|Number=Sing|PronType=Ind": {"pos": "PRON"}, "PI__Gender=Fem|Number=Sing|PronType=Ind": {POS: PRON},
"PI__Gender=Masc|Number=Plur|PronType=Ind": {"pos": "PRON"}, "PI__Gender=Masc|Number=Plur|PronType=Ind": {POS: PRON},
"PI__Gender=Masc|Number=Sing": {"pos": "PRON"}, "PI__Gender=Masc|Number=Sing": {POS: PRON},
"PI__Gender=Masc|Number=Sing|PronType=Ind": {"pos": "PRON"}, "PI__Gender=Masc|Number=Sing|PronType=Ind": {POS: PRON},
"PI__Number=Plur|PronType=Ind": {"pos": "PRON"}, "PI__Number=Plur|PronType=Ind": {POS: PRON},
"PI__Number=Sing|PronType=Ind": {"pos": "PRON"}, "PI__Number=Sing|PronType=Ind": {POS: PRON},
"PI__PronType=Ind": {"pos": "PRON"}, "PI__PronType=Ind": {POS: PRON},
"PP__Gender=Fem|Number=Sing|Poss=Yes|PronType=Prs": {"pos": "PRON"}, "PP__Gender=Fem|Number=Sing|Poss=Yes|PronType=Prs": {POS: PRON},
"PP__Gender=Masc|Number=Plur|Poss=Yes|PronType=Prs": {"pos": "PRON"}, "PP__Gender=Masc|Number=Plur|Poss=Yes|PronType=Prs": {POS: PRON},
"PP__Gender=Masc|Number=Sing|Poss=Yes|PronType=Prs": {"pos": "PRON"}, "PP__Gender=Masc|Number=Sing|Poss=Yes|PronType=Prs": {POS: PRON},
"PP__Number=Plur|Poss=Yes|PronType=Prs": {"pos": "PRON"}, "PP__Number=Plur|Poss=Yes|PronType=Prs": {POS: PRON},
"PP__Number=Sing|Poss=Yes|PronType=Prs": {"pos": "PRON"}, "PP__Number=Sing|Poss=Yes|PronType=Prs": {POS: PRON},
"PQ__Gender=Fem|Number=Plur|PronType=Int": {"pos": "PRON"}, "PQ__Gender=Fem|Number=Plur|PronType=Int": {POS: PRON},
"PQ__Gender=Fem|Number=Sing|PronType=Int": {"pos": "PRON"}, "PQ__Gender=Fem|Number=Sing|PronType=Int": {POS: PRON},
"PQ__Gender=Masc|Number=Plur|PronType=Int": {"pos": "PRON"}, "PQ__Gender=Masc|Number=Plur|PronType=Int": {POS: PRON},
"PQ__Gender=Masc|Number=Sing|PronType=Int": {"pos": "PRON"}, "PQ__Gender=Masc|Number=Sing|PronType=Int": {POS: PRON},
"PQ__Number=Plur|PronType=Int": {"pos": "PRON"}, "PQ__Number=Plur|PronType=Int": {POS: PRON},
"PQ__Number=Sing|PronType=Int": {"pos": "PRON"}, "PQ__Number=Sing|PronType=Int": {POS: PRON},
"PQ__PronType=Int": {"pos": "PRON"}, "PQ__PronType=Int": {POS: PRON},
"PR__Gender=Masc|Number=Plur|PronType=Rel": {"pos": "PRON"}, "PR__Gender=Masc|Number=Plur|PronType=Rel": {POS: PRON},
"PR__Gender=Masc|Number=Sing|PronType=Rel": {"pos": "PRON"}, "PR__Gender=Masc|Number=Sing|PronType=Rel": {POS: PRON},
"PR__Gender=Masc|PronType=Rel": {"pos": "PRON"}, "PR__Gender=Masc|PronType=Rel": {POS: PRON},
"PR__Number=Plur|PronType=Rel": {"pos": "PRON"}, "PR__Number=Plur|PronType=Rel": {POS: PRON},
"PR__Number=Sing|PronType=Rel": {"pos": "PRON"}, "PR__Number=Sing|PronType=Rel": {POS: PRON},
"PR__Person=3|PronType=Rel": {"pos": "PRON"}, "PR__Person=3|PronType=Rel": {POS: PRON},
"PR__PronType=Rel": {"pos": "PRON"}, "PR__PronType=Rel": {POS: PRON},
"RD__Definite=Def": {"pos": "DET"}, "RD__Definite=Def": {POS: DET},
"RD__Definite=Def|Gender=Fem": {"pos": "DET"}, "RD__Definite=Def|Gender=Fem": {POS: DET},
"RD__Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|Gender=Fem|Number=Plur|PronType=Art": {POS: DET},
"RD__Definite=Def|Gender=Fem|Number=Sing|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|Gender=Fem|Number=Sing|PronType=Art": {POS: DET},
"RD__Definite=Def|Gender=Masc|Number=Plur|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|Gender=Masc|Number=Plur|PronType=Art": {POS: DET},
"RD__Definite=Def|Gender=Masc|Number=Sing|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|Gender=Masc|Number=Sing|PronType=Art": {POS: DET},
"RD__Definite=Def|Number=Plur|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|Number=Plur|PronType=Art": {POS: DET},
"RD__Definite=Def|Number=Sing|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|Number=Sing|PronType=Art": {POS: DET},
"RD__Definite=Def|PronType=Art": {"pos": "DET"}, "RD__Definite=Def|PronType=Art": {POS: DET},
"RD__Gender=Fem|Number=Sing": {"pos": "DET"}, "RD__Gender=Fem|Number=Sing": {POS: DET},
"RD__Gender=Masc|Number=Sing": {"pos": "DET"}, "RD__Gender=Masc|Number=Sing": {POS: DET},
"RD__Number=Sing": {"pos": "DET"}, "RD__Number=Sing": {POS: DET},
"RD__Number=Sing|PronType=Art": {"pos": "DET"}, "RD__Number=Sing|PronType=Art": {POS: DET},
"RI__Definite=Ind|Gender=Fem|Number=Plur|PronType=Art": {"pos": "DET"}, "RI__Definite=Ind|Gender=Fem|Number=Plur|PronType=Art": {POS: DET},
"RI__Definite=Ind|Gender=Fem|Number=Sing|PronType=Art": {"pos": "DET"}, "RI__Definite=Ind|Gender=Fem|Number=Sing|PronType=Art": {POS: DET},
"RI__Definite=Ind|Gender=Masc|Number=Plur|PronType=Art": {"pos": "DET"}, "RI__Definite=Ind|Gender=Masc|Number=Plur|PronType=Art": {POS: DET},
"RI__Definite=Ind|Gender=Masc|Number=Sing|PronType=Art": {"pos": "DET"}, "RI__Definite=Ind|Gender=Masc|Number=Sing|PronType=Art": {POS: DET},
"RI__Definite=Ind|Number=Sing|PronType=Art": {"pos": "DET"}, "RI__Definite=Ind|Number=Sing|PronType=Art": {POS: DET},
"RI__Definite=Ind|PronType=Art": {"pos": "DET"}, "RI__Definite=Ind|PronType=Art": {POS: DET},
"SP__Gender=Fem|Number=Plur": {"pos": "PROPN"}, "SP__Gender=Fem|Number=Plur": {POS: PROPN},
"SP__NumType=Card": {"pos": "PROPN"}, "SP__NumType=Card": {POS: PROPN},
"SP___": {"pos": "PROPN"}, "SP___": {POS: PROPN},
"SW__Foreign=Yes": {"pos": "X"}, "SW__Foreign=Yes": {POS: X},
"SW__Foreign=Yes|Gender=Masc": {"pos": "X"}, "SW__Foreign=Yes|Gender=Masc": {POS: X},
"SW__Foreign=Yes|Number=Sing": {"pos": "X"}, "SW__Foreign=Yes|Number=Sing": {POS: X},
"SYM___": {"pos": "SYM"}, "SYM___": {POS: SYM},
"S__Gender=Fem": {"pos": "NOUN"}, "S__Gender=Fem": {POS: NOUN},
"S__Gender=Fem|Number=Plur": {"pos": "NOUN"}, "S__Gender=Fem|Number=Plur": {POS: NOUN},
"S__Gender=Fem|Number=Sing": {"pos": "NOUN"}, "S__Gender=Fem|Number=Sing": {POS: NOUN},
"S__Gender=Masc": {"pos": "NOUN"}, "S__Gender=Masc": {POS: NOUN},
"S__Gender=Masc|Number=Plur": {"pos": "NOUN"}, "S__Gender=Masc|Number=Plur": {POS: NOUN},
"S__Gender=Masc|Number=Sing": {"pos": "NOUN"}, "S__Gender=Masc|Number=Sing": {POS: NOUN},
"S__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "NOUN"}, "S__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {POS: NOUN},
"S__Number=Plur": {"pos": "NOUN"}, "S__Number=Plur": {POS: NOUN},
"S__Number=Sing": {"pos": "NOUN"}, "S__Number=Sing": {POS: NOUN},
"S___": {"pos": "NOUN"}, "S___": {POS: NOUN},
"Sw___": {"pos": "X"}, "Sw___": {POS: X},
"T__Gender=Fem|Number=Plur|PronType=Tot": {"pos": "DET"}, "T__Gender=Fem|Number=Plur|PronType=Tot": {POS: DET},
"T__Gender=Fem|Number=Sing": {"pos": "DET"}, "T__Gender=Fem|Number=Sing": {POS: DET},
"T__Gender=Fem|Number=Sing|PronType=Tot": {"pos": "DET"}, "T__Gender=Fem|Number=Sing|PronType=Tot": {POS: DET},
"T__Gender=Masc|Number=Plur|PronType=Tot": {"pos": "DET"}, "T__Gender=Masc|Number=Plur|PronType=Tot": {POS: DET},
"T__Gender=Masc|Number=Sing|PronType=Tot": {"pos": "DET"}, "T__Gender=Masc|Number=Sing|PronType=Tot": {POS: DET},
"T__Number=Plur|PronType=Tot": {"pos": "DET"}, "T__Number=Plur|PronType=Tot": {POS: DET},
"T__PronType=Tot": {"pos": "DET"}, "T__PronType=Tot": {POS: DET},
"VA__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "AUX"}, "VA__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {POS: AUX},
"VA__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "AUX"}, "VA__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {POS: AUX},
"VA__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "AUX"}, "VA__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {POS: AUX},
"VA__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "AUX"}, "VA__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {POS: AUX},
"VA__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=2|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=2|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {POS: AUX},
"VA__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VA__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VA__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VA__VerbForm=Ger": {"pos": "AUX"}, "VA__VerbForm=Ger": {POS: AUX},
"VA__VerbForm=Inf": {"pos": "AUX"}, "VA__VerbForm=Inf": {POS: AUX},
"VM__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "AUX"}, "VM__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {POS: AUX},
"VM__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "AUX"}, "VM__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {POS: AUX},
"VM__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Cnd|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Cnd|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Cnd|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Cnd|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Imp|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Imp|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=2|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {POS: AUX},
"VM__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: AUX},
"VM__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "AUX"}, "VM__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: AUX},
"VM__VerbForm=Ger": {"pos": "AUX"}, "VM__VerbForm=Ger": {POS: AUX},
"VM__VerbForm=Inf": {"pos": "AUX"}, "VM__VerbForm=Inf": {POS: AUX},
"V__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "VERB"}, "V__Gender=Fem|Number=Plur|Tense=Past|VerbForm=Part": {POS: VERB},
"V__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "VERB"}, "V__Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part": {POS: VERB},
"V__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Fin": {"pos": "VERB"}, "V__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Fin": {POS: VERB},
"V__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {"pos": "VERB"}, "V__Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part": {POS: VERB},
"V__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {"pos": "VERB"}, "V__Gender=Masc|Number=Sing|Tense=Past|VerbForm=Part": {POS: VERB},
"V__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Cnd|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Cnd|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Cnd|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Cnd|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Cnd|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Cnd|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Cnd|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Cnd|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Imp|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Imp|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Imp|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Imp|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Imp|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Imp|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Imp|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=1|Tense=Fut|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=1|Tense=Past|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=2|Tense=Fut|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=3|Tense=Fut|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=3|Tense=Past|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=1|Tense=Fut|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=1|Tense=Past|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=2|Tense=Fut|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=3|Tense=Fut|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=3|Tense=Past|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Ind|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Ind|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Plur|Person=1|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Plur|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Plur|Person=2|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Plur|Person=2|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Plur|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Plur|Person=3|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Sing|Person=1|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Sing|Person=1|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Sing|Person=2|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Sing|Person=3|Tense=Imp|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin": {POS: VERB},
"V__Mood=Sub|Number=Sing|Person=3|VerbForm=Fin": {"pos": "VERB"}, "V__Mood=Sub|Number=Sing|Person=3|VerbForm=Fin": {POS: VERB},
"V__Number=Plur|Tense=Pres|VerbForm=Part": {"pos": "VERB"}, "V__Number=Plur|Tense=Pres|VerbForm=Part": {POS: VERB},
"V__Number=Sing|Tense=Pres|VerbForm=Part": {"pos": "VERB"}, "V__Number=Sing|Tense=Pres|VerbForm=Part": {POS: VERB},
"V__Tense=Past|VerbForm=Part": {"pos": "VERB"}, "V__Tense=Past|VerbForm=Part": {POS: VERB},
"V__VerbForm=Ger": {"pos": "VERB"}, "V__VerbForm=Ger": {POS: VERB},
"V__VerbForm=Inf": {"pos": "VERB"}, "V__VerbForm=Inf": {POS: VERB},
"X___": {"pos": "X"}, "X___": {POS: X},
"_SP": {"pos": "SPACE"} "_SP": {POS: SPACE}
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@ from .tokenizer import Tokenizer
from .vocab import Vocab from .vocab import Vocab
from .lemmatizer import Lemmatizer from .lemmatizer import Lemmatizer
from .pipeline import DependencyParser, Tensorizer, Tagger, EntityRecognizer from .pipeline import DependencyParser, Tensorizer, Tagger, EntityRecognizer
from .pipeline import SimilarityHook, TextCategorizer from .pipeline import SimilarityHook, TextCategorizer, SentenceSegmenter
from .compat import json_dumps, izip from .compat import json_dumps, izip
from .scorer import Scorer from .scorer import Scorer
from ._ml import link_vectors_to_models from ._ml import link_vectors_to_models
@ -102,7 +102,9 @@ class Language(object):
'parser': lambda nlp, **cfg: DependencyParser(nlp.vocab, **cfg), 'parser': lambda nlp, **cfg: DependencyParser(nlp.vocab, **cfg),
'ner': lambda nlp, **cfg: EntityRecognizer(nlp.vocab, **cfg), 'ner': lambda nlp, **cfg: EntityRecognizer(nlp.vocab, **cfg),
'similarity': lambda nlp, **cfg: SimilarityHook(nlp.vocab, **cfg), 'similarity': lambda nlp, **cfg: SimilarityHook(nlp.vocab, **cfg),
'textcat': lambda nlp, **cfg: TextCategorizer(nlp.vocab, **cfg) 'textcat': lambda nlp, **cfg: TextCategorizer(nlp.vocab, **cfg),
'sbd': lambda nlp, **cfg: SentenceSegmenter(nlp.vocab, **cfg),
'sentencizer': lambda nlp, **cfg: SentenceSegmenter(nlp.vocab, **cfg)
} }
def __init__(self, vocab=True, make_doc=True, meta={}, **kwargs): def __init__(self, vocab=True, make_doc=True, meta={}, **kwargs):

View File

@ -415,7 +415,11 @@ class Tagger(Pipe):
vocab.morphology.assign_tag_id(&doc.c[j], tag_id) vocab.morphology.assign_tag_id(&doc.c[j], tag_id)
idx += 1 idx += 1
if tensors is not None: if tensors is not None:
doc.extend_tensor(tensors[i]) if isinstance(doc.tensor, numpy.ndarray) \
and not isinstance(tensors[i], numpy.ndarray):
doc.extend_tensor(tensors[i].get())
else:
doc.extend_tensor(tensors[i])
doc.is_tagged = True doc.is_tagged = True
def update(self, docs, golds, drop=0., sgd=None, losses=None): def update(self, docs, golds, drop=0., sgd=None, losses=None):

View File

@ -540,7 +540,9 @@ cdef class Parser:
return None return None
backprops = [] backprops = []
d_tokvecs = state2vec.ops.allocate(tokvecs.shape) # Add a padding vector to the d_tokvecs gradient, so that missing
# values don't affect the real gradient.
d_tokvecs = state2vec.ops.allocate((tokvecs.shape[0]+1, tokvecs.shape[1]))
cdef float loss = 0. cdef float loss = 0.
n_steps = 0 n_steps = 0
while todo: while todo:
@ -623,7 +625,9 @@ cdef class Parser:
bp_vectors)) bp_vectors))
else: else:
backprop_lower.append((ids, d_vector, bp_vectors)) backprop_lower.append((ids, d_vector, bp_vectors))
d_tokvecs = self.model[0].ops.allocate(tokvecs.shape) # Add a padding vector to the d_tokvecs gradient, so that missing
# values don't affect the real gradient.
d_tokvecs = state2vec.ops.allocate((tokvecs.shape[0]+1, tokvecs.shape[1]))
self._make_updates(d_tokvecs, bp_tokvecs, backprop_lower, sgd, self._make_updates(d_tokvecs, bp_tokvecs, backprop_lower, sgd,
cuda_stream) cuda_stream)
@ -676,7 +680,8 @@ cdef class Parser:
(ids.size, d_state_features.shape[2])) (ids.size, d_state_features.shape[2]))
self.model[0].ops.scatter_add(d_tokvecs, ids, self.model[0].ops.scatter_add(d_tokvecs, ids,
d_state_features) d_state_features)
bp_tokvecs(d_tokvecs, sgd=sgd) # Padded -- see update()
bp_tokvecs(d_tokvecs[:-1], sgd=sgd)
@property @property
def move_names(self): def move_names(self):
@ -746,7 +751,11 @@ cdef class Parser:
for j in range(doc.length): for j in range(doc.length):
doc.c[j] = state.c._sent[j] doc.c[j] = state.c._sent[j]
if tensors is not None: if tensors is not None:
doc.extend_tensor(tensors[i]) if isinstance(doc.tensor, numpy.ndarray) \
and not isinstance(tensors[i], numpy.ndarray):
doc.extend_tensor(tensors[i].get())
else:
doc.extend_tensor(tensors[i])
self.moves.finalize_doc(doc) self.moves.finalize_doc(doc)
for hook in self.postprocesses: for hook in self.postprocesses:

View File

@ -84,8 +84,8 @@
], ],
"ALPHA": true, "ALPHA": true,
"V_CSS": "2.0a2", "V_CSS": "2.0a3",
"V_JS": "2.0a1", "V_JS": "2.0a0",
"DEFAULT_SYNTAX": "python", "DEFAULT_SYNTAX": "python",
"ANALYTICS": "UA-58931649-1", "ANALYTICS": "UA-58931649-1",
"MAILCHIMP": { "MAILCHIMP": {

View File

@ -11,6 +11,23 @@ mixin section(id)
block block
//- Accordion (collapsible sections)
title - [string] Section title.
id - [string] Optional section ID for permalinks.
level - [integer] Headline level for section title.
mixin accordion(title, id, level)
section.o-accordion.o-block
+h(level || 4).o-no-block(id=id)
button.o-accordion__button.o-grid.o-grid--vcenter.o-grid--space.js-accordion(aria-expanded="false")=title
svg.o-accordion__icon(width="20" height="20" viewBox="0 0 10 10" aria-hidden="true" focusable="false")
rect.o-accordion__hide(height="8" width="2" y="1" x="4")
rect(height="2" width="8" y="4" x="1")
.o-accordion__content(hidden="")
block
//- Headlines Helper Mixin //- Headlines Helper Mixin
level - [integer] 1, 2, 3, 4, or 5 level - [integer] 1, 2, 3, 4, or 5
@ -517,14 +534,22 @@ mixin fn(id, bib_id, tooltip)
mixin pos-row(tag, pos, morph, desc) mixin pos-row(tag, pos, morph, desc)
+row +row
+cell #[code=tag] +cell #[code(class=(tag.length > 10) ? "u-break u-break--all" : null)=tag]
+cell #[code=pos] +cell #[code=pos]
+cell +cell
each m in morph.split(" ") - var morphs = morph.includes("|") ? morph.split("|") : morph.split(" ")
for m in morphs
if m if m
| #[code=m] | #[code=m]
+cell.u-text-small=desc +cell.u-text-small=desc
mixin ud-row(tag, desc, example)
+row
+cell #[code=tag]
+cell.u-text-small=desc
if example
+cell.u-text-small
em=example
mixin dep-row(label, desc) mixin dep-row(label, desc)
+row +row

View File

@ -50,7 +50,7 @@ for id in CURRENT_MODELS
+cell +cell
span(data-tpl=id data-tpl-key=field) #[em n/a] span(data-tpl=id data-tpl-key=field) #[em n/a]
+row(data-tpl=id data-tpl-key="compat-wrapper" style="display: none") +row(data-tpl=id data-tpl-key="compat-wrapper" hidden="")
+cell +cell
+label Compat #[+help("Latest compatible model version for your spaCy installation").u-color-subtle] +label Compat #[+help("Latest compatible model version for your spaCy installation").u-color-subtle]
+cell +cell
@ -58,15 +58,15 @@ for id in CURRENT_MODELS
select.o-field__select.u-text-small(data-tpl=id data-tpl-key="compat") select.o-field__select.u-text-small(data-tpl=id data-tpl-key="compat")
div(data-tpl=id data-tpl-key="compat-versions")   div(data-tpl=id data-tpl-key="compat-versions")  
section(data-tpl=id data-tpl-key="benchmarks" style="display: none") section(data-tpl=id data-tpl-key="benchmarks" hidden="")
+grid.o-block-small +grid.o-block-small
for keys, label in MODEL_BENCHMARKS for keys, label in MODEL_BENCHMARKS
.u-flex-full.u-padding-small(data-tpl=id data-tpl-key=label.toLowerCase() style="display: none") .u-flex-full.u-padding-small(data-tpl=id data-tpl-key=label.toLowerCase() hidden="")
+table.o-block-small +table.o-block-small
+row("head") +row("head")
+head-cell(colspan="2")=(MODEL_META["benchmark_" + label] || label) +head-cell(colspan="2")=(MODEL_META["benchmark_" + label] || label)
for label, field in keys for label, field in keys
+row(style="display: none") +row(hidden="")
+cell.u-nowrap +cell.u-nowrap
+label=label +label=label
if MODEL_META[field] if MODEL_META[field]

View File

@ -41,6 +41,7 @@ if IS_PAGE
https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7 https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7
- ProgressBar = "new ProgressBar('.js-progress');" - ProgressBar = "new ProgressBar('.js-progress');"
- Accordion = "new Accordion('.js-accordion');"
- Changelog = "new Changelog('" + SOCIAL.github + "', 'spacy');" - Changelog = "new Changelog('" + SOCIAL.github + "', 'spacy');"
- NavHighlighter = "new NavHighlighter('data-section', 'data-nav');" - NavHighlighter = "new NavHighlighter('data-section', 'data-nav');"
- GitHubEmbed = "new GitHubEmbed('" + SOCIAL.github + "', 'data-gh-embed');" - GitHubEmbed = "new GitHubEmbed('" + SOCIAL.github + "', 'data-gh-embed');"
@ -49,7 +50,7 @@ if IS_PAGE
if environment == "deploy" if environment == "deploy"
//- DEPLOY: use compiled rollup.js and instantiate classes directly //- DEPLOY: use compiled rollup.js and instantiate classes directly
script(src="/assets/js/rollup.js") script(src="/assets/js/rollup.js?v#{V_JS}")
script script
!=ProgressBar !=ProgressBar
if changelog if changelog
@ -57,6 +58,7 @@ if environment == "deploy"
if IS_PAGE if IS_PAGE
!=NavHighlighter !=NavHighlighter
!=GitHubEmbed !=GitHubEmbed
!=Accordion
if HAS_MODELS if HAS_MODELS
!=ModelLoader !=ModelLoader
if compare_models if compare_models
@ -74,6 +76,8 @@ else
!=NavHighlighter !=NavHighlighter
| import GitHubEmbed from '/assets/js/github-embed.js'; | import GitHubEmbed from '/assets/js/github-embed.js';
!=GitHubEmbed !=GitHubEmbed
| import Accordion from '/assets/js/accordion.js';
!=Accordion
if HAS_MODELS if HAS_MODELS
| import { ModelLoader } from '/assets/js/models.js'; | import { ModelLoader } from '/assets/js/models.js';
!=ModelLoader !=ModelLoader

View File

@ -1,108 +1,156 @@
//- 💫 DOCS > API > ANNOTATION > DEPENDENCY LABELS //- 💫 DOCS > API > ANNOTATION > DEPENDENCY LABELS
+h(3, "dependency-parsing-english") English dependency labels
p p
| The English dependency labels use the #[+a("http://www.clearnlp.com") ClearNLP] | This section lists the syntactic dependency labels assigned by
| #[+a("http://www.mathcs.emory.edu/~choi/doc/clear-dependency-2012.pdf") CLEAR Style]. | spaCy's #[+a("/models") models]. The individual labels are
| language-specific and depend on the training corpus.
+table(["Label", "Description"]) +accordion("Universal Dependency Labels")
+dep-row("acomp", "adjectival complement") p
+dep-row("advcl", "adverbial clause modifier") | The #[+a("http://universaldependencies.org/u/dep/") Universal Dependencies scheme]
+dep-row("advmod", "adverbial modifier") | is used in all languages trained on Universal Dependency Corpora.
+dep-row("agent", "agent")
+dep-row("amod", "adjectival modifier")
+dep-row("appos", "appositional modifier")
+dep-row("attr", "attribute")
+dep-row("aux", "auxiliary")
+dep-row("auxpass", "auxiliary (passive)")
+dep-row("cc", "coordinating conjunction")
+dep-row("ccomp", "clausal complement")
+dep-row("complm", "complementizer")
+dep-row("conj", "conjunct")
+dep-row("cop", "copula")
+dep-row("csubj", "clausal subject")
+dep-row("csubjpass", "clausal subject (passive)")
+dep-row("dep", "unclassified dependent")
+dep-row("det", "determiner")
+dep-row("dobj", "direct object")
+dep-row("expl", "expletive")
+dep-row("hmod", "modifier in hyphenation")
+dep-row("hyph", "hyphen")
+dep-row("infmod", "infinitival modifier")
+dep-row("intj", "interjection")
+dep-row("iobj", "indirect object")
+dep-row("mark", "marker")
+dep-row("meta", "meta modifier")
+dep-row("neg", "negation modifier")
+dep-row("nmod", "modifier of nominal")
+dep-row("nn", "noun compound modifier")
+dep-row("npadvmod", "noun phrase as adverbial modifier")
+dep-row("nsubj", "nominal subject")
+dep-row("nsubjpass", "nominal subject (passive)")
+dep-row("num", "number modifier")
+dep-row("number", "number compound modifier")
+dep-row("oprd", "object predicate")
+dep-row("obj", "object")
+dep-row("obl", "oblique nominal")
+dep-row("parataxis", "parataxis")
+dep-row("partmod", "participal modifier")
+dep-row("pcomp", "complement of preposition")
+dep-row("pobj", "object of preposition")
+dep-row("poss", "possession modifier")
+dep-row("possessive", "possessive modifier")
+dep-row("preconj", "pre-correlative conjunction")
+dep-row("prep", "prepositional modifier")
+dep-row("prt", "particle")
+dep-row("punct", "punctuation")
+dep-row("quantmod", "modifier of quantifier")
+dep-row("rcmod", "relative clause modifier")
+dep-row("root", "root")
+dep-row("xcomp", "open clausal complement")
+h(3, "dependency-parsing-german") German dependency labels +table(["Dep", "Description"])
+ud-row("acl", "clausal modifier of noun (adjectival clause)")
+ud-row("advcl", "adverbial clause modifier")
+ud-row("advmod", "adverbial modifier")
+ud-row("amod", "adjectival modifier")
+ud-row("appos", "appositional modifier")
+ud-row("aux", "auxiliary")
+ud-row("case", "case marking")
+ud-row("cc", "coordinating conjunction")
+ud-row("ccomp", "clausal complement")
+ud-row("clf", "classifier")
+ud-row("compound", "compound")
+ud-row("conj", "conjunct")
+ud-row("cop", "copula")
+ud-row("csubj", "clausal subject")
+ud-row("dep", "unspecified dependency")
+ud-row("det", "determiner")
+ud-row("discourse", "discourse element")
+ud-row("dislocated", "dislocated elements")
+ud-row("expl", "expletive")
+ud-row("fixed", "fixed multiword expression")
+ud-row("flat", "flat multiword expression")
+ud-row("goeswith", "goes with")
+ud-row("iobj", "indirect object")
+ud-row("list", "list")
+ud-row("mark", "marker")
+ud-row("nmod", "nominal modifier")
+ud-row("nsubj", "nominal subject")
+ud-row("nummod", "numeric modifier")
+ud-row("obj", "object")
+ud-row("obl", "oblique nominal")
+ud-row("orphan", "orphan")
+ud-row("parataxis", "parataxis")
+ud-row("punct", "punctuation")
+ud-row("reparandum", "overridden disfluency")
+ud-row("root", "root")
+ud-row("vocative", "vocative")
+ud-row("xcomp", "open clausal complement")
p +accordion("English", "dependency-parsing-english")
| The German dependency labels use the p
| #[+a("http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/annotation/index.html") TIGER Treebank] | The English dependency labels use the
| annotation scheme. | #[+a("http://www.mathcs.emory.edu/~choi/doc/clear-dependency-2012.pdf") CLEAR Style]
| by #[+a("http://www.clearnlp.com") ClearNLP].
+table(["Label", "Description"]) +table(["Label", "Description"])
+dep-row("ac", "adpositional case marker") +dep-row("acomp", "adjectival complement")
+dep-row("adc", "adjective component") +dep-row("advcl", "adverbial clause modifier")
+dep-row("ag", "genitive attribute") +dep-row("advmod", "adverbial modifier")
+dep-row("ams", "measure argument of adjective") +dep-row("agent", "agent")
+dep-row("app", "apposition") +dep-row("amod", "adjectival modifier")
+dep-row("avc", "adverbial phrase component") +dep-row("appos", "appositional modifier")
+dep-row("cc", "comparative complement") +dep-row("attr", "attribute")
+dep-row("cd", "coordinating conjunction") +dep-row("aux", "auxiliary")
+dep-row("cj", "conjunct") +dep-row("auxpass", "auxiliary (passive)")
+dep-row("cm", "comparative conjunction") +dep-row("cc", "coordinating conjunction")
+dep-row("cp", "complementizer") +dep-row("ccomp", "clausal complement")
+dep-row("cvc", "collocational verb construction") +dep-row("complm", "complementizer")
+dep-row("da", "dative") +dep-row("conj", "conjunct")
+dep-row("dh", "discourse-level head") +dep-row("cop", "copula")
+dep-row("dm", "discourse marker") +dep-row("csubj", "clausal subject")
+dep-row("ep", "expletive es") +dep-row("csubjpass", "clausal subject (passive)")
+dep-row("hd", "head") +dep-row("dep", "unclassified dependent")
+dep-row("ju", "junctor") +dep-row("det", "determiner")
+dep-row("mnr", "postnominal modifier") +dep-row("dobj", "direct object")
+dep-row("mo", "modifier") +dep-row("expl", "expletive")
+dep-row("ng", "negation") +dep-row("hmod", "modifier in hyphenation")
+dep-row("nk", "noun kernel element") +dep-row("hyph", "hyphen")
+dep-row("nmc", "numerical component") +dep-row("infmod", "infinitival modifier")
+dep-row("oa", "accusative object") +dep-row("intj", "interjection")
+dep-row("oa", "second accusative object") +dep-row("iobj", "indirect object")
+dep-row("oc", "clausal object") +dep-row("mark", "marker")
+dep-row("og", "genitive object") +dep-row("meta", "meta modifier")
+dep-row("op", "prepositional object") +dep-row("neg", "negation modifier")
+dep-row("par", "parenthetical element") +dep-row("nmod", "modifier of nominal")
+dep-row("pd", "predicate") +dep-row("nn", "noun compound modifier")
+dep-row("pg", "phrasal genitive") +dep-row("npadvmod", "noun phrase as adverbial modifier")
+dep-row("ph", "placeholder") +dep-row("nsubj", "nominal subject")
+dep-row("pm", "morphological particle") +dep-row("nsubjpass", "nominal subject (passive)")
+dep-row("pnc", "proper noun component") +dep-row("num", "number modifier")
+dep-row("rc", "relative clause") +dep-row("number", "number compound modifier")
+dep-row("re", "repeated element") +dep-row("oprd", "object predicate")
+dep-row("rs", "reported speech") +dep-row("obj", "object")
+dep-row("sb", "subject") +dep-row("obl", "oblique nominal")
+dep-row("parataxis", "parataxis")
+dep-row("partmod", "participal modifier")
+dep-row("pcomp", "complement of preposition")
+dep-row("pobj", "object of preposition")
+dep-row("poss", "possession modifier")
+dep-row("possessive", "possessive modifier")
+dep-row("preconj", "pre-correlative conjunction")
+dep-row("prep", "prepositional modifier")
+dep-row("prt", "particle")
+dep-row("punct", "punctuation")
+dep-row("quantmod", "modifier of quantifier")
+dep-row("rcmod", "relative clause modifier")
+dep-row("root", "root")
+dep-row("xcomp", "open clausal complement")
+accordion("German", "dependency-parsing-german")
p
| The German dependency labels use the
| #[+a("http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/annotation/index.html") TIGER Treebank]
| annotation scheme.
+table(["Label", "Description"])
+dep-row("ac", "adpositional case marker")
+dep-row("adc", "adjective component")
+dep-row("ag", "genitive attribute")
+dep-row("ams", "measure argument of adjective")
+dep-row("app", "apposition")
+dep-row("avc", "adverbial phrase component")
+dep-row("cc", "comparative complement")
+dep-row("cd", "coordinating conjunction")
+dep-row("cj", "conjunct")
+dep-row("cm", "comparative conjunction")
+dep-row("cp", "complementizer")
+dep-row("cvc", "collocational verb construction")
+dep-row("da", "dative")
+dep-row("dh", "discourse-level head")
+dep-row("dm", "discourse marker")
+dep-row("ep", "expletive es")
+dep-row("hd", "head")
+dep-row("ju", "junctor")
+dep-row("mnr", "postnominal modifier")
+dep-row("mo", "modifier")
+dep-row("ng", "negation")
+dep-row("nk", "noun kernel element")
+dep-row("nmc", "numerical component")
+dep-row("oa", "accusative object")
+dep-row("oa", "second accusative object")
+dep-row("oc", "clausal object")
+dep-row("og", "genitive object")
+dep-row("op", "prepositional object")
+dep-row("par", "parenthetical element")
+dep-row("pd", "predicate")
+dep-row("pg", "phrasal genitive")
+dep-row("ph", "placeholder")
+dep-row("pm", "morphological particle")
+dep-row("pnc", "proper noun component")
+dep-row("rc", "relative clause")
+dep-row("re", "repeated element")
+dep-row("rs", "reported speech")
+dep-row("sb", "subject")

View File

@ -1,134 +1,179 @@
//- 💫 DOCS > API > ANNOTATION > POS TAGS //- 💫 DOCS > API > ANNOTATION > POS TAGS
+h(3, "pos-tagging-english") English part-of-speech tag scheme
p p
| The English part-of-speech tagger uses the | This section lists the fine-grained and coarse-grained part-of-speech
| #[+a("https://catalog.ldc.upenn.edu/LDC2013T19") OntoNotes 5] version of | tags assigned by spaCy's #[+a("/models") models]. The individual mapping
| the Penn Treebank tag set. We also map the tags to the simpler Google | is specific to the training corpus and can be defined in the respective
| Universal POS tag set. | language data's #[+a("/usage/adding-languages#tag-map") #[code tag_map.py]].
+table(["Tag", "POS", "Morphology", "Description"]) +accordion("Universal Part-of-speech Tags")
+pos-row("-LRB-", "PUNCT", "PunctType=brck PunctSide=ini", "left round bracket") p
+pos-row("-PRB-", "PUNCT", "PunctType=brck PunctSide=fin", "right round bracket") | spaCy also maps all language-specific part-of-speech tags to a small,
+pos-row(",", "PUNCT", "PunctType=comm", "punctuation mark, comma") | fixed set of word type tags following the
+pos-row(":", "PUNCT", "", "punctuation mark, colon or ellipsis") | #[+a("http://universaldependencies.org/u/pos/") Universal Dependencies scheme].
+pos-row(".", "PUNCT", "PunctType=peri", "punctuation mark, sentence closer") | The universal tags don't code for any morphological features and only
+pos-row("''", "PUNCT", "PunctType=quot PunctSide=fin", "closing quotation mark") | cover the word type. They're available as the
+pos-row("\"\"", "PUNCT", "PunctType=quot PunctSide=fin", "closing quotation mark") | #[+api("token#attributes") #[code Token.pos]] and
+pos-row("#", "SYM", "SymType=numbersign", "symbol, number sign") | #[+api("token#attributes") #[code Token.pos_]] attributes.
+pos-row("``", "PUNCT", "PunctType=quot PunctSide=ini", "opening quotation mark")
+pos-row("$", "SYM", "SymType=currency", "symbol, currency")
+pos-row("ADD", "X", "", "email")
+pos-row("AFX", "ADJ", "Hyph=yes", "affix")
+pos-row("BES", "VERB", "", 'auxiliary "be"')
+pos-row("CC", "CONJ", "ConjType=coor", "conjunction, coordinating")
+pos-row("CD", "NUM", "NumType=card", "cardinal number")
+pos-row("DT", "DET", "determiner")
+pos-row("EX", "ADV", "AdvType=ex", "existential there")
+pos-row("FW", "X", "Foreign=yes", "foreign word")
+pos-row("GW", "X", "", "additional word in multi-word expression")
+pos-row("HVS", "VERB", "", 'forms of "have"')
+pos-row("HYPH", "PUNCT", "PunctType=dash", "punctuation mark, hyphen")
+pos-row("IN", "ADP", "", "conjunction, subordinating or preposition")
+pos-row("JJ", "ADJ", "Degree=pos", "adjective")
+pos-row("JJR", "ADJ", "Degree=comp", "adjective, comparative")
+pos-row("JJS", "ADJ", "Degree=sup", "adjective, superlative")
+pos-row("LS", "PUNCT", "NumType=ord", "list item marker")
+pos-row("MD", "VERB", "VerbType=mod", "verb, modal auxiliary")
+pos-row("NFP", "PUNCT", "", "superfluous punctuation")
+pos-row("NIL", "", "", "missing tag")
+pos-row("NN", "NOUN", "Number=sing", "noun, singular or mass")
+pos-row("NNP", "PROPN", "NounType=prop Number=sign", "noun, proper singular")
+pos-row("NNPS", "PROPN", "NounType=prop Number=plur", "noun, proper plural")
+pos-row("NNS", "NOUN", "Number=plur", "noun, plural")
+pos-row("PDT", "ADJ", "AdjType=pdt PronType=prn", "predeterminer")
+pos-row("POS", "PART", "Poss=yes", "possessive ending")
+pos-row("PRP", "PRON", "PronType=prs", "pronoun, personal")
+pos-row("PRP$", "ADJ", "PronType=prs Poss=yes", "pronoun, possessive")
+pos-row("RB", "ADV", "Degree=pos", "adverb")
+pos-row("RBR", "ADV", "Degree=comp", "adverb, comparative")
+pos-row("RBS", "ADV", "Degree=sup", "adverb, superlative")
+pos-row("RP", "PART", "", "adverb, particle")
+pos-row("SP", "SPACE", "", "space")
+pos-row("SYM", "SYM", "", "symbol")
+pos-row("TO", "PART", "PartType=inf VerbForm=inf", "infinitival to")
+pos-row("UH", "INTJ", "", "interjection")
+pos-row("VB", "VERB", "VerbForm=inf", "verb, base form")
+pos-row("VBD", "VERB", "VerbForm=fin Tense=past", "verb, past tense")
+pos-row("VBG", "VERB", "VerbForm=part Tense=pres Aspect=prog", "verb, gerund or present participle")
+pos-row("VBN", "VERB", "VerbForm=part Tense=past Aspect=perf", "verb, past participle")
+pos-row("VBP", "VERB", "VerbForm=fin Tense=pres", "verb, non-3rd person singular present")
+pos-row("VBZ", "VERB", "VerbForm=fin Tense=pres Number=sing Person=3", "verb, 3rd person singular present")
+pos-row("WDT", "ADJ", "PronType=int|rel", "wh-determiner")
+pos-row("WP", "NOUN", "PronType=int|rel", "wh-pronoun, personal")
+pos-row("WP$", "ADJ", "Poss=yes PronType=int|rel", "wh-pronoun, possessive")
+pos-row("WRB", "ADV", "PronType=int|rel", "wh-adverb")
+pos-row("XX", "X", "", "unknown")
+h(3, "pos-tagging-german") German part-of-speech tag scheme +table(["POS", "Description", "Examples"])
+ud-row("ADJ", "adjective", "big, old, green, incomprehensible, first")
+ud-row("ADP", "adposition", "in, to, during")
+ud-row("ADV", "adverb", "very, tomorrow, down, where, there")
+ud-row("AUX", "auxiliary", "is, has (done), will (do), should (do)")
+ud-row("CONJ", "conjunction", "and, or, but")
+ud-row("CCONJ", "coordinating conjunction", "and, or, but")
+ud-row("DET", "determiner", "a, an, the")
+ud-row("INTJ", "interjection", "psst, ouch, bravo, hello")
+ud-row("NOUN", "noun", "girl, cat, tree, air, beauty")
+ud-row("NUM", "numeral", "1, 2017, one, seventy-seven, IV, MMXIV")
+ud-row("PART", "particle", "'s, not, ")
+ud-row("PRON", "pronoun", "I, you, he, she, myself, themselves, somebody")
+ud-row("PROPN", "proper noun", "Mary, John, Londin, NATO, HBO")
+ud-row("PUNCT", "punctuation", "., (, ), ?")
+ud-row("SCONJ", "subordinating conjunction", "if, while, that")
+ud-row("SYM", "symbol", "$, %, §, ©, +, , ×, ÷, =, :), 😝")
+ud-row("VERB", "verb", "run, runs, running, eat, ate, eating")
+ud-row("X", "other", "sfpksdpsxmsa")
+ud-row("SPACE", "space", "")
p +accordion("English", "pos-en")
| The German part-of-speech tagger uses the p
| #[+a("http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/annotation/index.html") TIGER Treebank] | The English part-of-speech tagger uses the
| annotation scheme. We also map the tags to the simpler Google | #[+a("https://catalog.ldc.upenn.edu/LDC2013T19") OntoNotes 5] version of
| Universal POS tag set. | the Penn Treebank tag set. We also map the tags to the simpler Google
| Universal POS tag set.
+table(["Tag", "POS", "Morphology", "Description"]) +table(["Tag", "POS", "Morphology", "Description"])
+pos-row("$(", "PUNCT", "PunctType=brck", "other sentence-internal punctuation mark") +pos-row("-LRB-", "PUNCT", "PunctType=brck PunctSide=ini", "left round bracket")
+pos-row("$,", "PUNCT", "PunctType=comm", "comma") +pos-row("-PRB-", "PUNCT", "PunctType=brck PunctSide=fin", "right round bracket")
+pos-row("$.", "PUNCT", "PunctType=peri", "sentence-final punctuation mark") +pos-row(",", "PUNCT", "PunctType=comm", "punctuation mark, comma")
+pos-row("ADJA", "ADJ", "", "adjective, attributive") +pos-row(":", "PUNCT", "", "punctuation mark, colon or ellipsis")
+pos-row("ADJD", "ADJ", "Variant=short", "adjective, adverbial or predicative") +pos-row(".", "PUNCT", "PunctType=peri", "punctuation mark, sentence closer")
+pos-row("ADV", "ADV", "", "adverb") +pos-row("''", "PUNCT", "PunctType=quot PunctSide=fin", "closing quotation mark")
+pos-row("APPO", "ADP", "AdpType=post", "postposition") +pos-row("\"\"", "PUNCT", "PunctType=quot PunctSide=fin", "closing quotation mark")
+pos-row("APPR", "ADP", "AdpType=prep", "preposition; circumposition left") +pos-row("#", "SYM", "SymType=numbersign", "symbol, number sign")
+pos-row("APPRART", "ADP", "AdpType=prep PronType=art", "preposition with article") +pos-row("``", "PUNCT", "PunctType=quot PunctSide=ini", "opening quotation mark")
+pos-row("APZR", "ADP", "AdpType=circ", "circumposition right") +pos-row("$", "SYM", "SymType=currency", "symbol, currency")
+pos-row("ART", "DET", "PronType=art", "definite or indefinite article") +pos-row("ADD", "X", "", "email")
+pos-row("CARD", "NUM", "NumType=card", "cardinal number") +pos-row("AFX", "ADJ", "Hyph=yes", "affix")
+pos-row("FM", "X", "Foreign=yes", "foreign language material") +pos-row("BES", "VERB", "", 'auxiliary "be"')
+pos-row("ITJ", "INTJ", "", "interjection") +pos-row("CC", "CONJ", "ConjType=coor", "conjunction, coordinating")
+pos-row("KOKOM", "CONJ", "ConjType=comp", "comparative conjunction") +pos-row("CD", "NUM", "NumType=card", "cardinal number")
+pos-row("KON", "CONJ", "", "coordinate conjunction") +pos-row("DT", "DET", "determiner")
+pos-row("KOUI", "SCONJ", "", 'subordinate conjunction with "zu" and infinitive') +pos-row("EX", "ADV", "AdvType=ex", "existential there")
+pos-row("KOUS", "SCONJ", "", "subordinate conjunction with sentence") +pos-row("FW", "X", "Foreign=yes", "foreign word")
+pos-row("NE", "PROPN", "", "proper noun") +pos-row("GW", "X", "", "additional word in multi-word expression")
+pos-row("NNE", "PROPN", "", "proper noun") +pos-row("HVS", "VERB", "", 'forms of "have"')
+pos-row("NN", "NOUN", "", "noun, singular or mass") +pos-row("HYPH", "PUNCT", "PunctType=dash", "punctuation mark, hyphen")
+pos-row("PAV", "ADV", "PronType=dem", "pronominal adverb") +pos-row("IN", "ADP", "", "conjunction, subordinating or preposition")
+pos-row("PROAV", "ADV", "PronType=dem", "pronominal adverb") +pos-row("JJ", "ADJ", "Degree=pos", "adjective")
+pos-row("PDAT", "DET", "PronType=dem", "attributive demonstrative pronoun") +pos-row("JJR", "ADJ", "Degree=comp", "adjective, comparative")
+pos-row("PDS", "PRON", "PronType=dem", "substituting demonstrative pronoun") +pos-row("JJS", "ADJ", "Degree=sup", "adjective, superlative")
+pos-row("PIAT", "DET", "PronType=ind|neg|tot", "attributive indefinite pronoun without determiner") +pos-row("LS", "PUNCT", "NumType=ord", "list item marker")
+pos-row("PIDAT", "DET", "AdjType=pdt PronType=ind|neg|tot", "attributive indefinite pronoun with determiner") +pos-row("MD", "VERB", "VerbType=mod", "verb, modal auxiliary")
+pos-row("PIS", "PRON", "PronType=ind|neg|tot", "substituting indefinite pronoun") +pos-row("NFP", "PUNCT", "", "superfluous punctuation")
+pos-row("PPER", "PRON", "PronType=prs", "non-reflexive personal pronoun") +pos-row("NIL", "", "", "missing tag")
+pos-row("PPOSAT", "DET", "Poss=yes PronType=prs", "attributive possessive pronoun") +pos-row("NN", "NOUN", "Number=sing", "noun, singular or mass")
+pos-row("PPOSS", "PRON", "PronType=rel", "substituting possessive pronoun") +pos-row("NNP", "PROPN", "NounType=prop Number=sign", "noun, proper singular")
+pos-row("PRELAT", "DET", "PronType=rel", "attributive relative pronoun") +pos-row("NNPS", "PROPN", "NounType=prop Number=plur", "noun, proper plural")
+pos-row("PRELS", "PRON", "PronType=rel", "substituting relative pronoun") +pos-row("NNS", "NOUN", "Number=plur", "noun, plural")
+pos-row("PRF", "PRON", "PronType=prs Reflex=yes", "reflexive personal pronoun") +pos-row("PDT", "ADJ", "AdjType=pdt PronType=prn", "predeterminer")
+pos-row("PTKA", "PART", "", "particle with adjective or adverb") +pos-row("POS", "PART", "Poss=yes", "possessive ending")
+pos-row("PTKANT", "PART", "PartType=res", "answer particle") +pos-row("PRP", "PRON", "PronType=prs", "pronoun, personal")
+pos-row("PTKNEG", "PART", "Negative=yes", "negative particle") +pos-row("PRP$", "ADJ", "PronType=prs Poss=yes", "pronoun, possessive")
+pos-row("PTKVZ", "PART", "PartType=vbp", "separable verbal particle") +pos-row("RB", "ADV", "Degree=pos", "adverb")
+pos-row("PTKZU", "PART", "PartType=inf", '"zu" before infinitive') +pos-row("RBR", "ADV", "Degree=comp", "adverb, comparative")
+pos-row("PWAT", "DET", "PronType=int", "attributive interrogative pronoun") +pos-row("RBS", "ADV", "Degree=sup", "adverb, superlative")
+pos-row("PWAV", "ADV", "PronType=int", "adverbial interrogative or relative pronoun") +pos-row("RP", "PART", "", "adverb, particle")
+pos-row("PWS", "PRON", "PronType=int", "substituting interrogative pronoun") +pos-row("SP", "SPACE", "", "space")
+pos-row("TRUNC", "X", "Hyph=yes", "word remnant") +pos-row("SYM", "SYM", "", "symbol")
+pos-row("VAFIN", "AUX", "Mood=ind VerbForm=fin", "finite verb, auxiliary") +pos-row("TO", "PART", "PartType=inf VerbForm=inf", "infinitival to")
+pos-row("VAIMP", "AUX", "Mood=imp VerbForm=fin", "imperative, auxiliary") +pos-row("UH", "INTJ", "", "interjection")
+pos-row("VAINF", "AUX", "VerbForm=inf", "infinitive, auxiliary") +pos-row("VB", "VERB", "VerbForm=inf", "verb, base form")
+pos-row("VAPP", "AUX", "Aspect=perf VerbForm=fin", "perfect participle, auxiliary") +pos-row("VBD", "VERB", "VerbForm=fin Tense=past", "verb, past tense")
+pos-row("VMFIN", "VERB", "Mood=ind VerbForm=fin VerbType=mod", "finite verb, modal") +pos-row("VBG", "VERB", "VerbForm=part Tense=pres Aspect=prog", "verb, gerund or present participle")
+pos-row("VMINF", "VERB", "VerbForm=fin VerbType=mod", "infinitive, modal") +pos-row("VBN", "VERB", "VerbForm=part Tense=past Aspect=perf", "verb, past participle")
+pos-row("VMPP", "VERB", "Aspect=perf VerbForm=part VerbType=mod", "perfect participle, modal") +pos-row("VBP", "VERB", "VerbForm=fin Tense=pres", "verb, non-3rd person singular present")
+pos-row("VVFIN", "VERB", "Mood=ind VerbForm=fin", "finite verb, full") +pos-row("VBZ", "VERB", "VerbForm=fin Tense=pres Number=sing Person=3", "verb, 3rd person singular present")
+pos-row("VVIMP", "VERB", "Mood=imp VerbForm=fin", "imperative, full") +pos-row("WDT", "ADJ", "PronType=int|rel", "wh-determiner")
+pos-row("VVINF", "VERB", "VerbForm=inf", "infinitive, full") +pos-row("WP", "NOUN", "PronType=int|rel", "wh-pronoun, personal")
+pos-row("VVIZU", "VERB", "VerbForm=inf", 'infinitive with "zu", full') +pos-row("WP$", "ADJ", "Poss=yes PronType=int|rel", "wh-pronoun, possessive")
+pos-row("VVPP", "VERB", "Aspect=perf VerbForm=part", "perfect participle, full") +pos-row("WRB", "ADV", "PronType=int|rel", "wh-adverb")
+pos-row("XY", "X", "", "non-word containing non-letter") +pos-row("XX", "X", "", "unknown")
+pos-row("SP", "SPACE", "", "space")
+accordion("German", "pos-de")
p
| The German part-of-speech tagger uses the
| #[+a("http://www.ims.uni-stuttgart.de/forschung/ressourcen/korpora/TIGERCorpus/annotation/index.html") TIGER Treebank]
| annotation scheme. We also map the tags to the simpler Google
| Universal POS tag set.
+table(["Tag", "POS", "Morphology", "Description"])
+pos-row("$(", "PUNCT", "PunctType=brck", "other sentence-internal punctuation mark")
+pos-row("$,", "PUNCT", "PunctType=comm", "comma")
+pos-row("$.", "PUNCT", "PunctType=peri", "sentence-final punctuation mark")
+pos-row("ADJA", "ADJ", "", "adjective, attributive")
+pos-row("ADJD", "ADJ", "Variant=short", "adjective, adverbial or predicative")
+pos-row("ADV", "ADV", "", "adverb")
+pos-row("APPO", "ADP", "AdpType=post", "postposition")
+pos-row("APPR", "ADP", "AdpType=prep", "preposition; circumposition left")
+pos-row("APPRART", "ADP", "AdpType=prep PronType=art", "preposition with article")
+pos-row("APZR", "ADP", "AdpType=circ", "circumposition right")
+pos-row("ART", "DET", "PronType=art", "definite or indefinite article")
+pos-row("CARD", "NUM", "NumType=card", "cardinal number")
+pos-row("FM", "X", "Foreign=yes", "foreign language material")
+pos-row("ITJ", "INTJ", "", "interjection")
+pos-row("KOKOM", "CONJ", "ConjType=comp", "comparative conjunction")
+pos-row("KON", "CONJ", "", "coordinate conjunction")
+pos-row("KOUI", "SCONJ", "", 'subordinate conjunction with "zu" and infinitive')
+pos-row("KOUS", "SCONJ", "", "subordinate conjunction with sentence")
+pos-row("NE", "PROPN", "", "proper noun")
+pos-row("NNE", "PROPN", "", "proper noun")
+pos-row("NN", "NOUN", "", "noun, singular or mass")
+pos-row("PAV", "ADV", "PronType=dem", "pronominal adverb")
+pos-row("PROAV", "ADV", "PronType=dem", "pronominal adverb")
+pos-row("PDAT", "DET", "PronType=dem", "attributive demonstrative pronoun")
+pos-row("PDS", "PRON", "PronType=dem", "substituting demonstrative pronoun")
+pos-row("PIAT", "DET", "PronType=ind|neg|tot", "attributive indefinite pronoun without determiner")
+pos-row("PIDAT", "DET", "AdjType=pdt PronType=ind|neg|tot", "attributive indefinite pronoun with determiner")
+pos-row("PIS", "PRON", "PronType=ind|neg|tot", "substituting indefinite pronoun")
+pos-row("PPER", "PRON", "PronType=prs", "non-reflexive personal pronoun")
+pos-row("PPOSAT", "DET", "Poss=yes PronType=prs", "attributive possessive pronoun")
+pos-row("PPOSS", "PRON", "PronType=rel", "substituting possessive pronoun")
+pos-row("PRELAT", "DET", "PronType=rel", "attributive relative pronoun")
+pos-row("PRELS", "PRON", "PronType=rel", "substituting relative pronoun")
+pos-row("PRF", "PRON", "PronType=prs Reflex=yes", "reflexive personal pronoun")
+pos-row("PTKA", "PART", "", "particle with adjective or adverb")
+pos-row("PTKANT", "PART", "PartType=res", "answer particle")
+pos-row("PTKNEG", "PART", "Negative=yes", "negative particle")
+pos-row("PTKVZ", "PART", "PartType=vbp", "separable verbal particle")
+pos-row("PTKZU", "PART", "PartType=inf", '"zu" before infinitive')
+pos-row("PWAT", "DET", "PronType=int", "attributive interrogative pronoun")
+pos-row("PWAV", "ADV", "PronType=int", "adverbial interrogative or relative pronoun")
+pos-row("PWS", "PRON", "PronType=int", "substituting interrogative pronoun")
+pos-row("TRUNC", "X", "Hyph=yes", "word remnant")
+pos-row("VAFIN", "AUX", "Mood=ind VerbForm=fin", "finite verb, auxiliary")
+pos-row("VAIMP", "AUX", "Mood=imp VerbForm=fin", "imperative, auxiliary")
+pos-row("VAINF", "AUX", "VerbForm=inf", "infinitive, auxiliary")
+pos-row("VAPP", "AUX", "Aspect=perf VerbForm=fin", "perfect participle, auxiliary")
+pos-row("VMFIN", "VERB", "Mood=ind VerbForm=fin VerbType=mod", "finite verb, modal")
+pos-row("VMINF", "VERB", "VerbForm=fin VerbType=mod", "infinitive, modal")
+pos-row("VMPP", "VERB", "Aspect=perf VerbForm=part VerbType=mod", "perfect participle, modal")
+pos-row("VVFIN", "VERB", "Mood=ind VerbForm=fin", "finite verb, full")
+pos-row("VVIMP", "VERB", "Mood=imp VerbForm=fin", "imperative, full")
+pos-row("VVINF", "VERB", "VerbForm=inf", "infinitive, full")
+pos-row("VVIZU", "VERB", "VerbForm=inf", 'infinitive with "zu", full')
+pos-row("VVPP", "VERB", "Aspect=perf VerbForm=part", "perfect participle, full")
+pos-row("XY", "X", "", "non-word containing non-letter")
+pos-row("SP", "SPACE", "", "space")
for _, lang in MODELS
- var exclude = ["en", "de", "xx"]
if !exclude.includes(lang)
- var lang_name = LANGUAGES[lang]
- var file_path = "lang/" + lang + "/tag_map.py"
+accordion(lang_name, "pos-" + lang)
p
| For details on the #{lang_name} tag map, see
| #[+src(gh("spacy", "spacy/" + file_path)) #[code=file_path]].

View File

@ -0,0 +1,55 @@
//- 💫 DOCS > API > ANNOTATION > TEXT PROCESSING
+aside-code("Example").
from spacy.lang.en import English
nlp = English()
tokens = nlp('Some\nspaces and\ttab characters')
tokens_text = [t.text for t in tokens]
assert tokens_text == ['Some', '\n', 'spaces', ' ', 'and',
'\t', 'tab', 'characters']
p
| Tokenization standards are based on the
| #[+a("https://catalog.ldc.upenn.edu/LDC2013T19") OntoNotes 5] corpus.
| The tokenizer differs from most by including
| #[strong tokens for significant whitespace]. Any sequence of
| whitespace characters beyond a single space (#[code ' ']) is included
| as a token. The whitespace tokens are useful for much the same reason
| punctuation is it's often an important delimiter in the text. By
| preserving it in the token output, we are able to maintain a simple
| alignment between the tokens and the original string, and we ensure
| that #[strong no information is lost] during processing.
+h(3, "lemmatization") Lemmatization
+aside("Examples")
| In English, this means:#[br]
| #[strong Adjectives]: happier, happiest → happy#[br]
| #[strong Adverbs]: worse, worst → badly#[br]
| #[strong Nouns]: dogs, children → dog, child#[br]
| #[strong Verbs]: writes, wirting, wrote, written → write
p
| A lemma is the uninflected form of a word. The English lemmatization
| data is taken from #[+a("https://wordnet.princeton.edu") WordNet].
| Lookup tables are taken from
| #[+a("http://www.lexiconista.com/datasets/lemmatization/") Lexiconista].
| spaCy also adds a #[strong special case for pronouns]: all pronouns
| are lemmatized to the special token #[code -PRON-].
+infobox("About spaCy's custom pronoun lemma", "⚠️")
| Unlike verbs and common nouns, there's no clear base form of a personal
| pronoun. Should the lemma of "me" be "I", or should we normalize person
| as well, giving "it" — or maybe "he"? spaCy's solution is to introduce a
| novel symbol, #[code -PRON-], which is used as the lemma for
| all personal pronouns.
+h(3, "sentence-boundary") Sentence boundary detection
p
| Sentence boundaries are calculated from the syntactic parse tree, so
| features such as punctuation and capitalisation play an important but
| non-decisive role in determining the sentence boundaries. Usually this
| means that the sentence boundaries will at least coincide with clause
| boundaries, even given poorly punctuated text.

View File

@ -205,10 +205,8 @@
"title": "Annotation Specifications", "title": "Annotation Specifications",
"teaser": "Schemes used for labels, tags and training data.", "teaser": "Schemes used for labels, tags and training data.",
"menu": { "menu": {
"Tokenization": "tokenization", "Text Processing": "text-processing",
"Sentence Boundaries": "sbd",
"POS Tagging": "pos-tagging", "POS Tagging": "pos-tagging",
"Lemmatization": "lemmatization",
"Dependencies": "dependency-parsing", "Dependencies": "dependency-parsing",
"Named Entities": "named-entities", "Named Entities": "named-entities",
"Models & Training": "training" "Models & Training": "training"

View File

@ -2,43 +2,9 @@
include ../_includes/_mixins include ../_includes/_mixins
p This document describes the target annotations spaCy is trained to predict. +section("text-processing")
+h(2, "text-processing") Text Processing
include _annotation/_text-processing
+section("tokenization")
+h(2, "tokenization") Tokenization
p
| Tokenization standards are based on the
| #[+a("https://catalog.ldc.upenn.edu/LDC2013T19") OntoNotes 5] corpus.
| The tokenizer differs from most by including tokens for significant
| whitespace. Any sequence of whitespace characters beyond a single space
| (#[code ' ']) is included as a token.
+aside-code("Example").
from spacy.lang.en import English
nlp = English()
tokens = nlp('Some\nspaces and\ttab characters')
tokens_text = [t.text for t in tokens]
assert tokens_text == ['Some', '\n', 'spaces', ' ', 'and',
'\t', 'tab', 'characters']
p
| The whitespace tokens are useful for much the same reason punctuation is
| it's often an important delimiter in the text. By preserving it in the
| token output, we are able to maintain a simple alignment between the
| tokens and the original string, and we ensure that no information is
| lost during processing.
+section("sbd")
+h(2, "sentence-boundary") Sentence boundary detection
p
| Sentence boundaries are calculated from the syntactic parse tree, so
| features such as punctuation and capitalisation play an important but
| non-decisive role in determining the sentence boundaries. Usually this
| means that the sentence boundaries will at least coincide with clause
| boundaries, even given poorly punctuated text.
+section("pos-tagging") +section("pos-tagging")
+h(2, "pos-tagging") Part-of-speech Tagging +h(2, "pos-tagging") Part-of-speech Tagging
@ -50,30 +16,6 @@ p This document describes the target annotations spaCy is trained to predict.
include _annotation/_pos-tags include _annotation/_pos-tags
+section("lemmatization")
+h(2, "lemmatization") Lemmatization
p A "lemma" is the uninflected form of a word. In English, this means:
+list
+item #[strong Adjectives]: The form like "happy", not "happier" or "happiest"
+item #[strong Adverbs]: The form like "badly", not "worse" or "worst"
+item #[strong Nouns]: The form like "dog", not "dogs"; like "child", not "children"
+item #[strong Verbs]: The form like "write", not "writes", "writing", "wrote" or "written"
p
| The lemmatization data is taken from
| #[+a("https://wordnet.princeton.edu") WordNet]. However, we also add a
| special case for pronouns: all pronouns are lemmatized to the special
| token #[code -PRON-].
+infobox("About spaCy's custom pronoun lemma")
| Unlike verbs and common nouns, there's no clear base form of a personal
| pronoun. Should the lemma of "me" be "I", or should we normalize person
| as well, giving "it" — or maybe "he"? spaCy's solution is to introduce a
| novel symbol, #[code -PRON-], which is used as the lemma for
| all personal pronouns.
+section("dependency-parsing") +section("dependency-parsing")
+h(2, "dependency-parsing") Syntactic Dependency Parsing +h(2, "dependency-parsing") Syntactic Dependency Parsing

View File

@ -31,6 +31,9 @@ main > *:not(footer) li a,
main aside a main aside a
@extend .u-link @extend .u-link
a:focus
outline: 1px dotted $color-theme
//- Selection //- Selection

View File

@ -74,6 +74,42 @@
border-radius: $border-radius border-radius: $border-radius
box-shadow: $box-shadow box-shadow: $box-shadow
//- Accordion
.o-accordion
&:not(:last-child)
margin-bottom: 2rem
.o-accordion__content
margin-top: 3rem
.o-accordion__button
font: inherit
border-radius: $border-radius
width: 100%
padding: 1.5rem 2rem
background: $color-subtle-light
&[aria-expanded="true"]
border-bottom: 3px solid $color-subtle
border-bottom-left-radius: 0
border-bottom-right-radius: 0
.o-accordion__hide
display: none
&:focus:not([aria-expanded="true"])
background: $color-subtle
.o-accordion__icon
@include size(2.5rem)
background: $color-theme
color: $color-back
border-radius: 50%
padding: 0.35rem
pointer-events: none
//- Box //- Box
.o-box .o-box

View File

@ -0,0 +1,25 @@
'use strict';
import { $$ } from './util.js';
export default class Accordion {
/**
* Simple, collapsible accordion sections.
* Inspired by: https://inclusive-components.design/collapsible-sections/
* @param {string} selector - Query selector of button element.
*/
constructor(selector) {
[...$$(selector)].forEach(btn =>
btn.addEventListener('click', this.onClick.bind(this)))
}
/**
* Toggle aria-expanded attribute on button and visibility of section.
* @param {node} Event.target - The accordion button.
*/
onClick({ target }) {
const exp = target.getAttribute('aria-expanded') === 'true' || false;
target.setAttribute('aria-expanded', !exp);
target.parentElement.nextElementSibling.hidden = exp;
}
}

View File

@ -101,9 +101,9 @@ export class ModelLoader {
showError(modelId) { showError(modelId) {
const tpl = new Templater(modelId); const tpl = new Templater(modelId);
tpl.get('table').removeAttribute('data-loading'); tpl.get('table').removeAttribute('data-loading');
tpl.get('error').style.display = 'block'; tpl.get('error').hidden = false;
for (let key of ['sources', 'pipeline', 'vecs', 'author', 'license']) { for (let key of ['sources', 'pipeline', 'vecs', 'author', 'license']) {
tpl.get(key).parentElement.parentElement.style.display = 'none'; tpl.get(key).parentElement.parentElement.hidden = true;
} }
} }
@ -114,13 +114,12 @@ export class ModelLoader {
const modelId = `${data.lang}_${data.name}`; const modelId = `${data.lang}_${data.name}`;
const model = `${modelId}-${data.version}`; const model = `${modelId}-${data.version}`;
const tpl = new Templater(modelId); const tpl = new Templater(modelId);
tpl.get('error').style.display = 'none';
this.renderDetails(tpl, data) this.renderDetails(tpl, data)
this.renderBenchmarks(tpl, data.accuracy, data.speed); this.renderBenchmarks(tpl, data.accuracy, data.speed);
this.renderCompat(tpl, modelId); this.renderCompat(tpl, modelId);
tpl.get('download').setAttribute('href', `${this.repo}/releases/tag/${model}`); tpl.get('download').setAttribute('href', `${this.repo}/releases/tag/${model}`);
tpl.get('table').removeAttribute('data-loading'); tpl.get('table').removeAttribute('data-loading');
tpl.get('error').style.display = 'none'; tpl.get('error').hidden = true;
} }
renderDetails(tpl, { version, size, description, notes, author, url, renderDetails(tpl, { version, size, description, notes, author, url,
@ -133,9 +132,9 @@ export class ModelLoader {
if (license) tpl.fill('license', formats.license(license, this.licenses[license]), true); if (license) tpl.fill('license', formats.license(license, this.licenses[license]), true);
if (sources) tpl.fill('sources', formats.sources(sources)); if (sources) tpl.fill('sources', formats.sources(sources));
if (vectors) tpl.fill('vecs', formats.vectors(vectors)); if (vectors) tpl.fill('vecs', formats.vectors(vectors));
else tpl.get('vecs').parentElement.parentElement.style.display = 'none'; else tpl.get('vecs').parentElement.parentElement.hidden = true;
if (pipeline && pipeline.length) tpl.fill('pipeline', formats.pipeline(pipeline), true); if (pipeline && pipeline.length) tpl.fill('pipeline', formats.pipeline(pipeline), true);
else tpl.get('pipeline').parentElement.parentElement.style.display = 'none'; else tpl.get('pipeline').parentElement.parentElement.hidden = true;
} }
renderBenchmarks(tpl, accuracy = {}, speed = {}) { renderBenchmarks(tpl, accuracy = {}, speed = {}) {
@ -143,7 +142,7 @@ export class ModelLoader {
this.renderTable(tpl, 'parser', accuracy, val => val.toFixed(2)); this.renderTable(tpl, 'parser', accuracy, val => val.toFixed(2));
this.renderTable(tpl, 'ner', accuracy, val => val.toFixed(2)); this.renderTable(tpl, 'ner', accuracy, val => val.toFixed(2));
this.renderTable(tpl, 'speed', speed, Math.round); this.renderTable(tpl, 'speed', speed, Math.round);
tpl.get('benchmarks').style.display = 'block'; tpl.get('benchmarks').hidden = false;
} }
renderTable(tpl, id, benchmarks, converter = val => val) { renderTable(tpl, id, benchmarks, converter = val => val) {
@ -151,13 +150,13 @@ export class ModelLoader {
for (let key of Object.keys(this.benchKeys[id])) { for (let key of Object.keys(this.benchKeys[id])) {
if (benchmarks[key]) tpl if (benchmarks[key]) tpl
.fill(key, convertNumber(converter(benchmarks[key]))) .fill(key, convertNumber(converter(benchmarks[key])))
.parentElement.style.display = 'table-row'; .parentElement.hidden = false;
} }
tpl.get(id).style.display = 'block'; tpl.get(id).hidden = false;
} }
renderCompat(tpl, modelId) { renderCompat(tpl, modelId) {
tpl.get('compat-wrapper').style.display = 'table-row'; tpl.get('compat-wrapper').hidden = false;
const header = '<option selected disabled>spaCy version</option>'; const header = '<option selected disabled>spaCy version</option>';
const options = Object.keys(this.compat) const options = Object.keys(this.compat)
.map(v => `<option value="${v}">v${v}</option>`) .map(v => `<option value="${v}">v${v}</option>`)
@ -197,8 +196,8 @@ export class ModelComparer {
this.colors = CHART_COLORS; this.colors = CHART_COLORS;
this.fonts = CHART_FONTS; this.fonts = CHART_FONTS;
this.defaultModels = defaultModels; this.defaultModels = defaultModels;
this.tpl.get('result').style.display = 'block'; this.tpl.get('result').hidden = false;
this.tpl.get('error').style.display = 'none'; this.tpl.get('error').hidden = true;
this.fetchCompat() this.fetchCompat()
.then(compat => this.init(compat)) .then(compat => this.init(compat))
.catch(this.showError.bind(this)) .catch(this.showError.bind(this))
@ -257,8 +256,8 @@ export class ModelComparer {
showError(err) { showError(err) {
console.error(err || 'Error'); console.error(err || 'Error');
this.tpl.get('result').style.display = 'none'; this.tpl.get('result').hidden = true;
this.tpl.get('error').style.display = 'block'; this.tpl.get('error').hidden = false;
} }
onSelect(ev) { onSelect(ev) {
@ -301,8 +300,8 @@ export class ModelComparer {
this.chart.update(); this.chart.update();
[model1, model2].forEach((model, i) => this.renderTable(metaKeys, i + 1, model)); [model1, model2].forEach((model, i) => this.renderTable(metaKeys, i + 1, model));
this.tpl.get('result').removeAttribute('data-loading'); this.tpl.get('result').removeAttribute('data-loading');
this.tpl.get('error').style.display = 'none'; this.tpl.get('error').hidden = true;
this.tpl.get('result').style.display = 'block'; this.tpl.get('result').hidden = false;
} }
renderTable(metaKeys, i, { lang, name, version, size, description, renderTable(metaKeys, i, { lang, name, version, size, description,

View File

@ -12,6 +12,7 @@ import ProgressBar from './progress.js';
import NavHighlighter from './nav-highlighter.js'; import NavHighlighter from './nav-highlighter.js';
import Changelog from './changelog.js'; import Changelog from './changelog.js';
import GitHubEmbed from './github-embed.js'; import GitHubEmbed from './github-embed.js';
import Accordion from './accordion.js';
import { ModelLoader, ModelComparer } from './models.js'; import { ModelLoader, ModelComparer } from './models.js';
// Assign to window so they are bundled by rollup // Assign to window so they are bundled by rollup
@ -19,5 +20,6 @@ window.ProgressBar = ProgressBar;
window.NavHighlighter = NavHighlighter; window.NavHighlighter = NavHighlighter;
window.Changelog = Changelog; window.Changelog = Changelog;
window.GitHubEmbed = GitHubEmbed; window.GitHubEmbed = GitHubEmbed;
window.Accordion = Accordion;
window.ModelLoader = ModelLoader; window.ModelLoader = ModelLoader;
window.ModelComparer = ModelComparer; window.ModelComparer = ModelComparer;

View File

@ -43,7 +43,7 @@
"en": ["en_core_web_sm", "en_core_web_lg", "en_vectors_web_lg"], "en": ["en_core_web_sm", "en_core_web_lg", "en_vectors_web_lg"],
"de": ["de_core_news_sm"], "de": ["de_core_news_sm"],
"es": ["es_core_news_sm", "es_core_news_md"], "es": ["es_core_news_sm", "es_core_news_md"],
"pt": ["pt_core_news_sm"], "pt": [],
"fr": ["fr_core_news_sm"], "fr": ["fr_core_news_sm"],
"it": ["it_core_news_sm"], "it": ["it_core_news_sm"],
"xx": ["xx_ent_wiki_sm"] "xx": ["xx_ent_wiki_sm"]

View File

@ -30,7 +30,7 @@ div(data-tpl=TPL data-tpl-key="error")
| overview of the | overview of the
| #[+a(gh("spacy-models") + "/releases") latest model releases]. | #[+a(gh("spacy-models") + "/releases") latest model releases].
div(data-tpl=TPL data-tpl-key="result" style="display: none") div(data-tpl=TPL data-tpl-key="result" hidden="")
+chart("compare_accuracy", 350) +chart("compare_accuracy", 350)
+aside-code("Download", "text") +aside-code("Download", "text")

View File

@ -181,6 +181,12 @@ p
+annotation-row(["their", "ADJ", "poss", "requests"], style) +annotation-row(["their", "ADJ", "poss", "requests"], style)
+annotation-row(["requests", "NOUN", "dobj", "submit"], style) +annotation-row(["requests", "NOUN", "dobj", "submit"], style)
+infobox("Dependency label scheme", "📖")
| For a list of the syntactic dependency labels assigned by spaCy's models
| across different languages, see the
| #[+a("/api/annotation#pos-tagging") dependency label scheme documentation].
+h(3, "displacy") Visualizing dependencies +h(3, "displacy") Visualizing dependencies
p p

View File

@ -2,8 +2,6 @@
include ../_spacy-101/_pos-deps include ../_spacy-101/_pos-deps
//-+aside("Help spaCy's output is wrong!")
+h(3, "rule-based-morphology") Rule-based morphology +h(3, "rule-based-morphology") Rule-based morphology
p p
@ -70,4 +68,7 @@ p
| list-based exception files, acquired from | list-based exception files, acquired from
| #[+a("https://wordnet.princeton.edu/") WordNet]. | #[+a("https://wordnet.princeton.edu/") WordNet].
include ../../api/_annotation/_pos-tags +infobox("Part-of-speech tag scheme", "📖")
| For a list of the fine-grained and coarse-grained part-of-speech tags
| assigned by spaCy's models across different languages, see the
| #[+a("/api/annotation#pos-tagging") POS tag scheme documentation].