From a4a6728dd84ad013d01b9cdf00c8f95216009cd4 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Fri, 15 Mar 2019 13:34:47 -0400 Subject: [PATCH 01/19] Multilingual version of biaffine dependency parser with elmo alignment * alignment addition to elmo embedder * dataset reader for multiple sources * iterator that groups samples from the same language --- allennlp/data/dataset_readers/__init__.py | 1 + .../universal_dependencies_multilang.py | 171 +++++ allennlp/data/iterators/__init__.py | 1 + allennlp/data/iterators/same_lang_iterator.py | 47 ++ allennlp/models/__init__.py | 1 + .../biaffine_dependency_parser_multilang.py | 642 ++++++++++++++++++ .../basic_text_field_embedder.py | 8 +- allennlp/modules/token_embedders/__init__.py | 1 + .../elmo_token_embedder_multilang.py | 164 +++++ .../multilang_dependency_parser.json | 136 ++++ 10 files changed, 1168 insertions(+), 4 deletions(-) create mode 100755 allennlp/data/dataset_readers/universal_dependencies_multilang.py create mode 100755 allennlp/data/iterators/same_lang_iterator.py create mode 100755 allennlp/models/biaffine_dependency_parser_multilang.py create mode 100755 allennlp/modules/token_embedders/elmo_token_embedder_multilang.py create mode 100644 training_config/multilang_dependency_parser.json diff --git a/allennlp/data/dataset_readers/__init__.py b/allennlp/data/dataset_readers/__init__.py index a35192a1066..2d13b427149 100644 --- a/allennlp/data/dataset_readers/__init__.py +++ b/allennlp/data/dataset_readers/__init__.py @@ -26,6 +26,7 @@ from allennlp.data.dataset_readers.sequence_tagging import SequenceTaggingDatasetReader from allennlp.data.dataset_readers.snli import SnliReader from allennlp.data.dataset_readers.universal_dependencies import UniversalDependenciesDatasetReader +from allennlp.data.dataset_readers.universal_dependencies_multilang import UniversalDependenciesMultiLangDatasetReader from allennlp.data.dataset_readers.stanford_sentiment_tree_bank import ( StanfordSentimentTreeBankDatasetReader) from allennlp.data.dataset_readers.quora_paraphrase import QuoraParaphraseDatasetReader diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py new file mode 100755 index 00000000000..15a3d727417 --- /dev/null +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -0,0 +1,171 @@ +from typing import Dict, Tuple, List +import logging +import itertools +import numpy as np +from collections import defaultdict + +from overrides import overrides +from conllu.parser import parse_line, DEFAULT_FIELDS + +from allennlp.common.file_utils import cached_path +from allennlp.data.dataset_readers.dataset_reader import DatasetReader +from allennlp.data.fields import Field, TextField, SequenceLabelField, MetadataField +from allennlp.data.instance import Instance +from allennlp.data.token_indexers import SingleIdTokenIndexer, TokenIndexer +from allennlp.data.tokenizers import Token +from allennlp.data.dataset_readers.universal_dependencies import lazy_parse + +logger = logging.getLogger(__name__) # pylint: disable=invalid-name + + +@DatasetReader.register("universal_dependencies_multilang") +class UniversalDependenciesMultiLangDatasetReader(DatasetReader): + """ + Wraps UniversalDependenciesDatasetReader to support multiple input files. + Reads consecutive cases from each input files by the given batch_size. + + Notice: when using the alternate option, one should also use the ``instances_per_epoch`` + option for the iterator. Otherwise, each epoch will loop infinitely. + + Parameters + ---------- + token_indexers : ``Dict[str, TokenIndexer]``, optional (default=``{"tokens": SingleIdTokenIndexer()}``) + The token indexers to be applied to the words TextField. + use_language_specific_pos : ``bool``, optional (default = False) + Whether to use UD POS tags, or to use the language specific POS tags + provided in the conllu format. + alternate : ``bool``, optional (default = True) + Whether to alternate between input files. + is_first_pass_for_vocab : ``bool``, optional (default = True) + Whether the first pass will be for generating the vocab. If true, + the first pass will run over the entire dataset of each file (even if alternate is on). + batch_size : ``int``, optional (default = 32) + The amount of consecutive cases to sample from each input file when alternating. + """ + def __init__(self, + token_indexers: Dict[str, TokenIndexer] = None, + use_language_specific_pos: bool = False, + lazy: bool = False, + alternate: bool = True, + is_first_pass_for_vocab: bool = True, + batch_size: int = 32) -> None: + super().__init__(lazy) + self._token_indexers = token_indexers or {'tokens': SingleIdTokenIndexer()} + self.use_language_specific_pos = use_language_specific_pos + + self.is_first_pass_for_vocab = is_first_pass_for_vocab + self.alternate = alternate + self.batch_size = batch_size + + self.is_first_pass = True + self.iterators = None + self.instances_per_lang = defaultdict(int) + + def _parse_file_paths(self, file_paths: Dict[str, str]): + """ + Converts from allennlp.params.Params to a python dict. + + Parameters + ---------- + file_paths : ``Dict[str, str]``, required. + The dictionary of identifier (e.g. "en" for English) to file path. + + Returns + ------- + A dictionary of identifier ("en","it" etc.) to file path. + """ + return dict(file_paths) + + + def _read_one_file(self, lang, file_path): + with open(file_path, 'r') as conllu_file: + logger.info("Reading UD instances for %s language from conllu dataset at: %s", lang, file_path) + + for annotation in lazy_parse(conllu_file.read()): + # CoNLLU annotations sometimes add back in words that have been elided + # in the original sentence; we remove these, as we're just predicting + # dependencies for the original sentence. + # We filter by None here as elided words have a non-integer word id, + # and are replaced with None by the conllu python library. + annotation = [x for x in annotation if x["id"] is not None] + + heads = [x["head"] for x in annotation] + tags = [x["deprel"] for x in annotation] + words = [x["form"] for x in annotation] + if self.use_language_specific_pos: + pos_tags = [x["xpostag"] for x in annotation] + else: + pos_tags = [x["upostag"] for x in annotation] + yield self.text_to_instance(lang, words, pos_tags, list(zip(tags, heads))) + + @overrides + def _read(self, file_paths: Dict[str, str]): + file_paths = self._parse_file_paths(file_paths) + if (self.is_first_pass and self.is_first_pass_for_vocab) or (not self.alternate): + iterators = [(lang, iter(self._read_one_file(lang, value))) for (lang, value) in file_paths.items()] + _, iterators = zip(*iterators) + self.is_first_pass = False + for inst in itertools.chain(*iterators): + yield inst + + self.instances_per_lang = defaultdict(int) + else: + if self.iterators is None: + self.iterators = [(lang, iter(self._read_one_file(lang, value))) for (lang, value) in file_paths.items()] + num_langs = len(file_paths) + while True: + lang_num = np.random.randint(num_langs) + lang, lang_iter = self.iterators[lang_num] + for _ in range(self.batch_size): + try: + yield lang_iter.__next__() + except StopIteration: + lang_iter = iter(self._read_one_file(lang, file_paths[lang])) + self.iterators[lang_num] = (lang, lang_iter) + yield lang_iter.__next__() + + self.instances_per_lang[lang] += 1 + + @overrides + def text_to_instance(self, # type: ignore + lang: str, + words: List[str], + upos_tags: List[str], + dependencies: List[Tuple[str, int]] = None) -> Instance: + # pylint: disable=arguments-differ + """ + Parameters + ---------- + lang : ``str``, required. + The language identifier. + words : ``List[str]``, required. + The words in the sentence to be encoded. + upos_tags : ``List[str]``, required. + The universal dependencies POS tags for each word. + dependencies ``List[Tuple[str, int]]``, optional (default = None) + A list of (head tag, head index) tuples. Indices are 1 indexed, + meaning an index of 0 corresponds to that word being the root of + the dependency tree. + + Returns + ------- + An instance containing words, upos tags, dependency head tags and head + indices as fields. The language identifier is stored in the metadata. + """ + fields: Dict[str, Field] = {} + + tokens = TextField([Token(w) for w in words], self._token_indexers) + fields["words"] = tokens + fields["pos_tags"] = SequenceLabelField(upos_tags, tokens, label_namespace="pos") + if dependencies is not None: + # We don't want to expand the label namespace with an additional dummy token, so we'll + # always give the 'ROOT_HEAD' token a label of 'root'. + fields["head_tags"] = SequenceLabelField([x[0] for x in dependencies], + tokens, + label_namespace="head_tags") + fields["head_indices"] = SequenceLabelField([int(x[1]) for x in dependencies], + tokens, + label_namespace="head_index_tags") + + fields["metadata"] = MetadataField({"words": words, "pos": upos_tags, "lang": lang}) + return Instance(fields) diff --git a/allennlp/data/iterators/__init__.py b/allennlp/data/iterators/__init__.py index 498cd5b83a1..42c254cd3c4 100644 --- a/allennlp/data/iterators/__init__.py +++ b/allennlp/data/iterators/__init__.py @@ -8,3 +8,4 @@ from allennlp.data.iterators.bucket_iterator import BucketIterator from allennlp.data.iterators.homogeneous_batch_iterator import HomogeneousBatchIterator from allennlp.data.iterators.multiprocess_iterator import MultiprocessIterator +from allennlp.data.iterators.same_lang_iterator import SameLangIterator diff --git a/allennlp/data/iterators/same_lang_iterator.py b/allennlp/data/iterators/same_lang_iterator.py new file mode 100755 index 00000000000..8caf76e456e --- /dev/null +++ b/allennlp/data/iterators/same_lang_iterator.py @@ -0,0 +1,47 @@ +from collections import deque +from typing import Iterable, Deque +import logging +import random + +from allennlp.common.util import lazy_groups_of +from allennlp.data.instance import Instance +from allennlp.data.iterators.data_iterator import DataIterator +from allennlp.data.dataset import Batch + +logger = logging.getLogger(__name__) # pylint: disable=invalid-name + +def split_by_lang(instance_list): + insts_by_lang = {} + for inst in instance_list: + inst_lang = inst.fields['metadata'].metadata['lang'] + if inst_lang not in insts_by_lang: + insts_by_lang[inst_lang] = [] + insts_by_lang[inst_lang].append(inst) + + return iter(insts_by_lang.values()) + +@DataIterator.register("same_lang") +class SameLangIterator(DataIterator): + """ + + Splits batches into batches containing the same language. + Based on the basic iterator. + + It takes the same parameters as :class:`allennlp.data.iterators.DataIterator` + """ + def _create_batches(self, instances: Iterable[Instance], shuffle: bool) -> Iterable[Batch]: + # First break the dataset into memory-sized lists: + for instance_list in self._memory_sized_lists(instances): + if shuffle: + random.shuffle(instance_list) + instance_list = split_by_lang(instance_list) + for same_lang_batch in instance_list: + iterator = iter(same_lang_batch) + excess: Deque[Instance] = deque() + # Then break each memory-sized list into batches. + for batch_instances in lazy_groups_of(iterator, self._batch_size): + for possibly_smaller_batches in self._ensure_batch_is_sufficiently_small(batch_instances, excess): + batch = Batch(possibly_smaller_batches) + yield batch + if excess: + yield Batch(excess) diff --git a/allennlp/models/__init__.py b/allennlp/models/__init__.py index 2ac7e81c90f..bde05cae6b5 100644 --- a/allennlp/models/__init__.py +++ b/allennlp/models/__init__.py @@ -8,6 +8,7 @@ from allennlp.models.biattentive_classification_network import BiattentiveClassificationNetwork from allennlp.models.constituency_parser import SpanConstituencyParser from allennlp.models.biaffine_dependency_parser import BiaffineDependencyParser +from allennlp.models.biaffine_dependency_parser_multilang import BiaffineDependencyParserMultiLang from allennlp.models.coreference_resolution.coref import CoreferenceResolver from allennlp.models.crf_tagger import CrfTagger from allennlp.models.decomposable_attention import DecomposableAttention diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py new file mode 100755 index 00000000000..7b851b6d715 --- /dev/null +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -0,0 +1,642 @@ +from typing import Dict, Optional, Tuple, Any, List +import logging +import copy + +from overrides import overrides +import torch +import torch.nn.functional as F +from torch.nn.modules import Dropout +import numpy +from collections import defaultdict + +from allennlp.common.checks import check_dimensions_match, ConfigurationError +from allennlp.data import Vocabulary +from allennlp.modules import Seq2SeqEncoder, TextFieldEmbedder, Embedding, InputVariationalDropout +from allennlp.modules.matrix_attention.bilinear_matrix_attention import BilinearMatrixAttention +from allennlp.modules import FeedForward +from allennlp.models.model import Model +from allennlp.nn import InitializerApplicator, RegularizerApplicator, Activation +from allennlp.nn.util import get_text_field_mask, get_range_vector +from allennlp.nn.util import get_device_of, masked_log_softmax, get_lengths_from_binary_sequence_mask +from allennlp.nn.chu_liu_edmonds import decode_mst +from allennlp.training.metrics import AttachmentScores + +logger = logging.getLogger(__name__) # pylint: disable=invalid-name + +POS_TO_IGNORE = {'``', "''", ':', ',', '.', 'PU', 'PUNCT', 'SYM'} + +@Model.register("biaffine_parser_multilang") +class BiaffineDependencyParserMultiLang(Model): + """ + This dependency parser follows the model of + ` Deep Biaffine Attention for Neural Dependency Parsing (Dozat and Manning, 2016) + `_ . + + Word representations are generated using a bidirectional LSTM, + followed by separate biaffine classifiers for pairs of words, + predicting whether a directed arc exists between the two words + and the dependency label the arc should have. Decoding can either + be done greedily, or the optimial Minimum Spanning Tree can be + decoded using Edmond's algorithm by viewing the dependency tree as + a MST on a fully connected graph, where nodes are words and edges + are scored dependency arcs. + + Parameters + ---------- + vocab : ``Vocabulary``, required + A Vocabulary, required in order to compute sizes for input/output projections. + text_field_embedder : ``TextFieldEmbedder``, required + Used to embed the ``tokens`` ``TextField`` we get as input to the model. + encoder : ``Seq2SeqEncoder`` + The encoder (with its own internal stacking) that we will use to generate representations + of tokens. + tag_representation_dim : ``int``, required. + The dimension of the MLPs used for dependency tag prediction. + arc_representation_dim : ``int``, required. + The dimension of the MLPs used for head arc prediction. + tag_feedforward : ``FeedForward``, optional, (default = None). + The feedforward network used to produce tag representations. + By default, a 1 layer feedforward network with an elu activation is used. + arc_feedforward : ``FeedForward``, optional, (default = None). + The feedforward network used to produce arc representations. + By default, a 1 layer feedforward network with an elu activation is used. + pos_tag_embedding : ``Embedding``, optional. + Used to embed the ``pos_tags`` ``SequenceLabelField`` we get as input to the model. + use_mst_decoding_for_validation : ``bool``, optional (default = True). + Whether to use Edmond's algorithm to find the optimal minimum spanning tree during validation. + If false, decoding is greedy. + dropout : ``float``, optional, (default = 0.0) + The variational dropout applied to the output of the encoder and MLP layers. + input_dropout : ``float``, optional, (default = 0.0) + The dropout applied to the embedded text input. + initializer : ``InitializerApplicator``, optional (default=``InitializerApplicator()``) + Used to initialize the model parameters. + regularizer : ``RegularizerApplicator``, optional (default=``None``) + If provided, will be used to calculate the regularization penalty during training. + """ + def __init__(self, + vocab: Vocabulary, + text_field_embedder: TextFieldEmbedder, + encoder: Seq2SeqEncoder, + tag_representation_dim: int, + arc_representation_dim: int, + tag_feedforward: FeedForward = None, + arc_feedforward: FeedForward = None, + pos_tag_embedding: Embedding = None, + use_mst_decoding_for_validation: bool = True, + langs_for_early_stop: List[str] = ["en"], + dropout: float = 0.0, + input_dropout: float = 0.0, + initializer: InitializerApplicator = InitializerApplicator(), + regularizer: Optional[RegularizerApplicator] = None) -> None: + super(BiaffineDependencyParserMultiLang, self).__init__(vocab, regularizer) + + self.text_field_embedder = text_field_embedder + self.encoder = encoder + self.langs_for_early_stop = langs_for_early_stop + + encoder_dim = encoder.get_output_dim() + + + self.head_arc_feedforward = arc_feedforward or \ + FeedForward(encoder_dim, 1, + arc_representation_dim, + Activation.by_name("elu")()) + self.child_arc_feedforward = copy.deepcopy(self.head_arc_feedforward) + + self.arc_attention = BilinearMatrixAttention(arc_representation_dim, + arc_representation_dim, + use_input_biases=True) + + num_labels = self.vocab.get_vocab_size("head_tags") + + self.head_tag_feedforward = tag_feedforward or \ + FeedForward(encoder_dim, 1, + tag_representation_dim, + Activation.by_name("elu")()) + self.child_tag_feedforward = copy.deepcopy(self.head_tag_feedforward) + + self.tag_bilinear = torch.nn.modules.Bilinear(tag_representation_dim, + tag_representation_dim, + num_labels) + + self._pos_tag_embedding = pos_tag_embedding or None + self._dropout = InputVariationalDropout(dropout) + self._input_dropout = Dropout(input_dropout) + self._head_sentinel = torch.nn.Parameter(torch.randn([1, 1, encoder.get_output_dim()])) + + representation_dim = text_field_embedder.get_output_dim() + if pos_tag_embedding is not None: + representation_dim += pos_tag_embedding.get_output_dim() + + check_dimensions_match(representation_dim, encoder.get_input_dim(), + "text field embedding dim", "encoder input dim") + + check_dimensions_match(tag_representation_dim, self.head_tag_feedforward.get_output_dim(), + "tag representation dim", "tag feedforward output dim") + check_dimensions_match(arc_representation_dim, self.head_arc_feedforward.get_output_dim(), + "arc representation dim", "arc feedforward output dim") + + self.use_mst_decoding_for_validation = use_mst_decoding_for_validation + + tags = self.vocab.get_token_to_index_vocabulary("pos") + punctuation_tag_indices = {tag: index for tag, index in tags.items() if tag in POS_TO_IGNORE} + self._pos_to_ignore = set(punctuation_tag_indices.values()) + logger.info(f"Found POS tags correspoding to the following punctuation : {punctuation_tag_indices}. " + "Ignoring words with these POS tags for evaluation.") + + self._attachment_scores = defaultdict(lambda: AttachmentScores()) + initializer(self) + + @overrides + def forward(self, # type: ignore + words: Dict[str, torch.LongTensor], + pos_tags: torch.LongTensor, + metadata: List[Dict[str, Any]], + head_tags: torch.LongTensor = None, + head_indices: torch.LongTensor = None) -> Dict[str, torch.Tensor]: + # pylint: disable=arguments-differ + """ + Parameters + ---------- + words : Dict[str, torch.LongTensor], required + The output of ``TextField.as_array()``, which should typically be passed directly to a + ``TextFieldEmbedder``. This output is a dictionary mapping keys to ``TokenIndexer`` + tensors. At its most basic, using a ``SingleIdTokenIndexer`` this is: ``{"tokens": + Tensor(batch_size, sequence_length)}``. This dictionary will have the same keys as were used + for the ``TokenIndexers`` when you created the ``TextField`` representing your + sequence. The dictionary is designed to be passed directly to a ``TextFieldEmbedder``, + which knows how to combine different word representations into a single vector per + token in your input. + pos_tags : ``torch.LongTensor``, required. + The output of a ``SequenceLabelField`` containing POS tags. + POS tags are required regardless of whether they are used in the model, + because they are used to filter the evaluation metric to only consider + heads of words which are not punctuation. + head_tags : torch.LongTensor, optional (default = None) + A torch tensor representing the sequence of integer gold class labels for the arcs + in the dependency parse. Has shape ``(batch_size, sequence_length)``. + head_indices : torch.LongTensor, optional (default = None) + A torch tensor representing the sequence of integer indices denoting the parent of every + word in the dependency parse. Has shape ``(batch_size, sequence_length)``. + + Returns + ------- + An output dictionary consisting of: + loss : ``torch.FloatTensor``, optional + A scalar loss to be optimised. + arc_loss : ``torch.FloatTensor`` + The loss contribution from the unlabeled arcs. + loss : ``torch.FloatTensor``, optional + The loss contribution from predicting the dependency + tags for the gold arcs. + heads : ``torch.FloatTensor`` + The predicted head indices for each word. A tensor + of shape (batch_size, sequence_length). + head_types : ``torch.FloatTensor`` + The predicted head types for each arc. A tensor + of shape (batch_size, sequence_length). + mask : ``torch.LongTensor`` + A mask denoting the padded elements in the batch. + """ + if 'lang' not in metadata[0]: + raise ConfigurationError("metadata is missing 'lang' key.\ + For multi lang, use universal_dependencies_multilang dataset_reader.") + + batch_lang = metadata[0]['lang'] + for entry in metadata: + if entry['lang'] != batch_lang: + raise ConfigurationError("Two languages in the same batch.") + + embedded_text_input = self.text_field_embedder(words, lang=batch_lang) + + if pos_tags is not None and self._pos_tag_embedding is not None: + embedded_pos_tags = self._pos_tag_embedding(pos_tags) + embedded_text_input = torch.cat([embedded_text_input, embedded_pos_tags], -1) + elif self._pos_tag_embedding is not None: + raise ConfigurationError("Model uses a POS embedding, but no POS tags were passed.") + + mask = get_text_field_mask(words) + embedded_text_input = self._input_dropout(embedded_text_input) + encoded_text = self.encoder(embedded_text_input, mask) + + batch_size, sequence_length, encoding_dim = encoded_text.size() + + head_sentinel = self._head_sentinel.expand(batch_size, 1, encoding_dim) + # Concatenate the head sentinel onto the sentence representation. + encoded_text = torch.cat([head_sentinel, encoded_text], 1) + mask = torch.cat([mask.new_ones(batch_size, 1), mask], 1) + if head_indices is not None: + head_indices = torch.cat([head_indices.new_zeros(batch_size, 1), head_indices], 1) + if head_tags is not None: + head_tags = torch.cat([head_tags.new_zeros(batch_size, 1), head_tags], 1) + float_mask = mask.float() + encoded_text = self._dropout(encoded_text) + + # shape (batch_size, sequence_length, arc_representation_dim) + head_arc_representation = self._dropout(self.head_arc_feedforward(encoded_text)) + child_arc_representation = self._dropout(self.child_arc_feedforward(encoded_text)) + + # shape (batch_size, sequence_length, tag_representation_dim) + head_tag_representation = self._dropout(self.head_tag_feedforward(encoded_text)) + child_tag_representation = self._dropout(self.child_tag_feedforward(encoded_text)) + # shape (batch_size, sequence_length, sequence_length) + attended_arcs = self.arc_attention(head_arc_representation, + child_arc_representation) + + minus_inf = -1e8 + minus_mask = (1 - float_mask) * minus_inf + attended_arcs = attended_arcs + minus_mask.unsqueeze(2) + minus_mask.unsqueeze(1) + + if self.training or not self.use_mst_decoding_for_validation: + predicted_heads, predicted_head_tags = self._greedy_decode(head_tag_representation, + child_tag_representation, + attended_arcs, + mask) + else: + predicted_heads, predicted_head_tags = self._mst_decode(head_tag_representation, + child_tag_representation, + attended_arcs, + mask) + if head_indices is not None and head_tags is not None: + + arc_nll, tag_nll = self._construct_loss(head_tag_representation=head_tag_representation, + child_tag_representation=child_tag_representation, + attended_arcs=attended_arcs, + head_indices=head_indices, + head_tags=head_tags, + mask=mask) + loss = arc_nll + tag_nll + + evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) + # We calculate attatchment scores for the whole sentence + # but excluding the symbolic ROOT token at the start, + # which is why we start from the second element in the sequence. + self._attachment_scores[batch_lang](predicted_heads[:, 1:], + predicted_head_tags[:, 1:], + head_indices[:, 1:], + head_tags[:, 1:], + evaluation_mask) + else: + arc_nll, tag_nll = self._construct_loss(head_tag_representation=head_tag_representation, + child_tag_representation=child_tag_representation, + attended_arcs=attended_arcs, + head_indices=predicted_heads.long(), + head_tags=predicted_head_tags.long(), + mask=mask) + loss = arc_nll + tag_nll + + output_dict = { + "heads": predicted_heads, + "head_tags": predicted_head_tags, + "arc_loss": arc_nll, + "tag_loss": tag_nll, + "loss": loss, + "mask": mask, + "words": [meta["words"] for meta in metadata], + "pos": [meta["pos"] for meta in metadata] + } + + return output_dict + + @overrides + def decode(self, output_dict: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]: + + head_tags = output_dict.pop("head_tags").cpu().detach().numpy() + heads = output_dict.pop("heads").cpu().detach().numpy() + mask = output_dict.pop("mask") + lengths = get_lengths_from_binary_sequence_mask(mask) + head_tag_labels = [] + head_indices = [] + for instance_heads, instance_tags, length in zip(heads, head_tags, lengths): + instance_heads = list(instance_heads[1:length]) + instance_tags = instance_tags[1:length] + labels = [self.vocab.get_token_from_index(label, "head_tags") + for label in instance_tags] + head_tag_labels.append(labels) + head_indices.append(instance_heads) + + output_dict["predicted_dependencies"] = head_tag_labels + output_dict["predicted_heads"] = head_indices + return output_dict + + def _construct_loss(self, + head_tag_representation: torch.Tensor, + child_tag_representation: torch.Tensor, + attended_arcs: torch.Tensor, + head_indices: torch.Tensor, + head_tags: torch.Tensor, + mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Computes the arc and tag loss for a sequence given gold head indices and tags. + + Parameters + ---------- + head_tag_representation : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + child_tag_representation : ``torch.Tensor``, required + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + attended_arcs : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, sequence_length) used to generate + a distribution over attachements of a given word to all other words. + head_indices : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length). + The indices of the heads for every word. + head_tags : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length). + The dependency labels of the heads for every word. + mask : ``torch.Tensor``, required. + A mask of shape (batch_size, sequence_length), denoting unpadded + elements in the sequence. + + Returns + ------- + arc_nll : ``torch.Tensor``, required. + The negative log likelihood from the arc loss. + tag_nll : ``torch.Tensor``, required. + The negative log likelihood from the arc tag loss. + """ + float_mask = mask.float() + batch_size, sequence_length, _ = attended_arcs.size() + # shape (batch_size, 1) + range_vector = get_range_vector(batch_size, get_device_of(attended_arcs)).unsqueeze(1) + # shape (batch_size, sequence_length, sequence_length) + normalised_arc_logits = masked_log_softmax(attended_arcs, + mask) * float_mask.unsqueeze(2) * float_mask.unsqueeze(1) + + # shape (batch_size, sequence_length, num_head_tags) + head_tag_logits = self._get_head_tags(head_tag_representation, child_tag_representation, head_indices) + normalised_head_tag_logits = masked_log_softmax(head_tag_logits, + mask.unsqueeze(-1)) * float_mask.unsqueeze(-1) + # index matrix with shape (batch, sequence_length) + timestep_index = get_range_vector(sequence_length, get_device_of(attended_arcs)) + child_index = timestep_index.view(1, sequence_length).expand(batch_size, sequence_length).long() + # shape (batch_size, sequence_length) + arc_loss = normalised_arc_logits[range_vector, child_index, head_indices] + tag_loss = normalised_head_tag_logits[range_vector, child_index, head_tags] + # We don't care about predictions for the symbolic ROOT token's head, + # so we remove it from the loss. + arc_loss = arc_loss[:, 1:] + tag_loss = tag_loss[:, 1:] + + # The number of valid positions is equal to the number of unmasked elements minus + # 1 per sequence in the batch, to account for the symbolic HEAD token. + valid_positions = mask.sum() - batch_size + + arc_nll = -arc_loss.sum() / valid_positions.float() + tag_nll = -tag_loss.sum() / valid_positions.float() + return arc_nll, tag_nll + + def _greedy_decode(self, + head_tag_representation: torch.Tensor, + child_tag_representation: torch.Tensor, + attended_arcs: torch.Tensor, + mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Decodes the head and head tag predictions by decoding the unlabeled arcs + independently for each word and then again, predicting the head tags of + these greedily chosen arcs indpendently. Note that this method of decoding + is not guaranteed to produce trees (i.e. there maybe be multiple roots, + or cycles when children are attached to their parents). + + Parameters + ---------- + head_tag_representation : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + child_tag_representation : ``torch.Tensor``, required + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + attended_arcs : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, sequence_length) used to generate + a distribution over attachements of a given word to all other words. + + Returns + ------- + heads : ``torch.Tensor`` + A tensor of shape (batch_size, sequence_length) representing the + greedily decoded heads of each word. + head_tags : ``torch.Tensor`` + A tensor of shape (batch_size, sequence_length) representing the + dependency tags of the greedily decoded heads of each word. + """ + # Mask the diagonal, because the head of a word can't be itself. + attended_arcs = attended_arcs + torch.diag(attended_arcs.new(mask.size(1)).fill_(-numpy.inf)) + # Mask padded tokens, because we only want to consider actual words as heads. + if mask is not None: + minus_mask = (1 - mask).byte().unsqueeze(2) + attended_arcs.masked_fill_(minus_mask, -numpy.inf) + + # Compute the heads greedily. + # shape (batch_size, sequence_length) + _, heads = attended_arcs.max(dim=2) + + # Given the greedily predicted heads, decode their dependency tags. + # shape (batch_size, sequence_length, num_head_tags) + head_tag_logits = self._get_head_tags(head_tag_representation, + child_tag_representation, + heads) + _, head_tags = head_tag_logits.max(dim=2) + return heads, head_tags + + def _mst_decode(self, + head_tag_representation: torch.Tensor, + child_tag_representation: torch.Tensor, + attended_arcs: torch.Tensor, + mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: + """ + Decodes the head and head tag predictions using the Edmonds' Algorithm + for finding minimum spanning trees on directed graphs. Nodes in the + graph are the words in the sentence, and between each pair of nodes, + there is an edge in each direction, where the weight of the edge corresponds + to the most likely dependency label probability for that arc. The MST is + then generated from this directed graph. + + Parameters + ---------- + head_tag_representation : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + child_tag_representation : ``torch.Tensor``, required + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + attended_arcs : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, sequence_length) used to generate + a distribution over attachements of a given word to all other words. + + Returns + ------- + heads : ``torch.Tensor`` + A tensor of shape (batch_size, sequence_length) representing the + greedily decoded heads of each word. + head_tags : ``torch.Tensor`` + A tensor of shape (batch_size, sequence_length) representing the + dependency tags of the optimally decoded heads of each word. + """ + batch_size, sequence_length, tag_representation_dim = head_tag_representation.size() + + lengths = mask.data.sum(dim=1).long().cpu().numpy() + + expanded_shape = [batch_size, sequence_length, sequence_length, tag_representation_dim] + head_tag_representation = head_tag_representation.unsqueeze(2) + head_tag_representation = head_tag_representation.expand(*expanded_shape).contiguous() + child_tag_representation = child_tag_representation.unsqueeze(1) + child_tag_representation = child_tag_representation.expand(*expanded_shape).contiguous() + # Shape (batch_size, sequence_length, sequence_length, num_head_tags) + pairwise_head_logits = self.tag_bilinear(head_tag_representation, child_tag_representation) + + # Note that this log_softmax is over the tag dimension, and we don't consider pairs + # of tags which are invalid (e.g are a pair which includes a padded element) anyway below. + # Shape (batch, num_labels,sequence_length, sequence_length) + normalized_pairwise_head_logits = F.log_softmax(pairwise_head_logits, dim=3).permute(0, 3, 1, 2) + + # Mask padded tokens, because we only want to consider actual words as heads. + minus_inf = -1e8 + minus_mask = (1 - mask.float()) * minus_inf + attended_arcs = attended_arcs + minus_mask.unsqueeze(2) + minus_mask.unsqueeze(1) + + # Shape (batch_size, sequence_length, sequence_length) + normalized_arc_logits = F.log_softmax(attended_arcs, dim=2).transpose(1, 2) + + # Shape (batch_size, num_head_tags, sequence_length, sequence_length) + # This energy tensor expresses the following relation: + # energy[i,j] = "Score that i is the head of j". In this + # case, we have heads pointing to their children. + batch_energy = torch.exp(normalized_arc_logits.unsqueeze(1) + normalized_pairwise_head_logits) + return self._run_mst_decoding(batch_energy, lengths) + + @staticmethod + def _run_mst_decoding(batch_energy: torch.Tensor, lengths: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: + heads = [] + head_tags = [] + for energy, length in zip(batch_energy.detach().cpu(), lengths): + scores, tag_ids = energy.max(dim=0) + # Although we need to include the root node so that the MST includes it, + # we do not want any word to be the parent of the root node. + # Here, we enforce this by setting the scores for all word -> ROOT edges + # edges to be 0. + scores[0, :] = 0 + # Decode the heads. Because we modify the scores to prevent + # adding in word -> ROOT edges, we need to find the labels ourselves. + instance_heads, _ = decode_mst(scores.numpy(), length, has_labels=False) + + # Find the labels which correspond to the edges in the max spanning tree. + instance_head_tags = [] + for child, parent in enumerate(instance_heads): + instance_head_tags.append(tag_ids[parent, child].item()) + # We don't care what the head or tag is for the root token, but by default it's + # not necesarily the same in the batched vs unbatched case, which is annoying. + # Here we'll just set them to zero. + instance_heads[0] = 0 + instance_head_tags[0] = 0 + heads.append(instance_heads) + head_tags.append(instance_head_tags) + return torch.from_numpy(numpy.stack(heads)), torch.from_numpy(numpy.stack(head_tags)) + + def _get_head_tags(self, + head_tag_representation: torch.Tensor, + child_tag_representation: torch.Tensor, + head_indices: torch.Tensor) -> torch.Tensor: + """ + Decodes the head tags given the head and child tag representations + and a tensor of head indices to compute tags for. Note that these are + either gold or predicted heads, depending on whether this function is + being called to compute the loss, or if it's being called during inference. + + Parameters + ---------- + head_tag_representation : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + child_tag_representation : ``torch.Tensor``, required + A tensor of shape (batch_size, sequence_length, tag_representation_dim), + which will be used to generate predictions for the dependency tags + for the given arcs. + head_indices : ``torch.Tensor``, required. + A tensor of shape (batch_size, sequence_length). The indices of the heads + for every word. + + Returns + ------- + head_tag_logits : ``torch.Tensor`` + A tensor of shape (batch_size, sequence_length, num_head_tags), + representing logits for predicting a distribution over tags + for each arc. + """ + batch_size = head_tag_representation.size(0) + # shape (batch_size,) + range_vector = get_range_vector(batch_size, get_device_of(head_tag_representation)).unsqueeze(1) + + # This next statement is quite a complex piece of indexing, which you really + # need to read the docs to understand. See here: + # https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html#advanced-indexing + # In effect, we are selecting the indices corresponding to the heads of each word from the + # sequence length dimension for each element in the batch. + + # shape (batch_size, sequence_length, tag_representation_dim) + selected_head_tag_representations = head_tag_representation[range_vector, head_indices] + selected_head_tag_representations = selected_head_tag_representations.contiguous() + # shape (batch_size, sequence_length, num_head_tags) + head_tag_logits = self.tag_bilinear(selected_head_tag_representations, + child_tag_representation) + return head_tag_logits + + def _get_mask_for_eval(self, + mask: torch.LongTensor, + pos_tags: torch.LongTensor) -> torch.LongTensor: + """ + Dependency evaluation excludes words are punctuation. + Here, we create a new mask to exclude word indices which + have a "punctuation-like" part of speech tag. + + Parameters + ---------- + mask : ``torch.LongTensor``, required. + The original mask. + pos_tags : ``torch.LongTensor``, required. + The pos tags for the sequence. + + Returns + ------- + A new mask, where any indices equal to labels + we should be ignoring are masked. + """ + new_mask = mask.detach() + for label in self._pos_to_ignore: + label_mask = pos_tags.eq(label).long() + new_mask = new_mask * (1 - label_mask) + return new_mask + + @overrides + def get_metrics(self, reset: bool = False) -> Dict[str, float]: + metrics = {} + all_uas = [] + all_las = [] + for lang, scores in self._attachment_scores.items(): + lang_metrics = scores.get_metric(reset) + + # Add the specific language to the dict key. + metrics_wlang = {} + for key in lang_metrics.keys(): + # Store only those metrics. + if key in ['UAS', 'LAS', 'loss']: + metrics_wlang["{}_{}".format(key, lang)] = lang_metrics[key] + + # Include in the average only languages that should count for early stopping. + if lang in self.langs_for_early_stop: + all_uas.append(metrics_wlang["UAS_{}".format(lang)]) + all_las.append(metrics_wlang["LAS_{}".format(lang)]) + + metrics.update(metrics_wlang) + + metrics.update({"UAS_AVG": numpy.mean(all_uas), "LAS_AVG": numpy.mean(all_las)}) + return metrics diff --git a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py index c315a4f01b1..e73f8ed0b40 100644 --- a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py @@ -65,7 +65,7 @@ def get_output_dim(self) -> int: output_dim += embedder.get_output_dim() return output_dim - def forward(self, text_field_input: Dict[str, torch.Tensor], num_wrapping_dims: int = 0) -> torch.Tensor: + def forward(self, text_field_input: Dict[str, torch.Tensor], num_wrapping_dims: int = 0, **kwargs) -> torch.Tensor: embedder_keys = self._token_embedders.keys() input_keys = text_field_input.keys() @@ -107,20 +107,20 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], num_wrapping_dims: # If `indexer_key` is None, we map it to `None`. tensors = [(text_field_input[indexer_key] if indexer_key is not None else None) for indexer_key in indexer_map] - token_vectors = embedder(*tensors) + token_vectors = embedder(*tensors, **kwargs) elif isinstance(indexer_map, dict): tensors = { name: text_field_input[argument] for name, argument in indexer_map.items() } - token_vectors = embedder(**tensors) + token_vectors = embedder(**tensors, **kwargs) else: raise NotImplementedError else: # otherwise, we assume the mapping between indexers and embedders # is bijective and just use the key directly. tensors = [text_field_input[key]] - token_vectors = embedder(*tensors) + token_vectors = embedder(*tensors, **kwargs) embedded_representations.append(token_vectors) return torch.cat(embedded_representations, dim=-1) diff --git a/allennlp/modules/token_embedders/__init__.py b/allennlp/modules/token_embedders/__init__.py index cd2c53718c3..05dd86fa071 100644 --- a/allennlp/modules/token_embedders/__init__.py +++ b/allennlp/modules/token_embedders/__init__.py @@ -7,6 +7,7 @@ from allennlp.modules.token_embedders.embedding import Embedding from allennlp.modules.token_embedders.token_characters_encoder import TokenCharactersEncoder from allennlp.modules.token_embedders.elmo_token_embedder import ElmoTokenEmbedder +from allennlp.modules.token_embedders.elmo_token_embedder_multilang import ElmoTokenEmbedderMultiLang from allennlp.modules.token_embedders.openai_transformer_embedder import OpenaiTransformerEmbedder from allennlp.modules.token_embedders.bert_token_embedder import BertEmbedder, PretrainedBertEmbedder from allennlp.modules.token_embedders.bidirectional_language_model_token_embedder import \ diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py new file mode 100755 index 00000000000..f2fcadc47e8 --- /dev/null +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -0,0 +1,164 @@ +from typing import List, Dict +import torch + +from allennlp.common.file_utils import cached_path +from allennlp.common import Params +from allennlp.modules.token_embedders.token_embedder import TokenEmbedder +from allennlp.modules.elmo import Elmo +from allennlp.modules.time_distributed import TimeDistributed +from allennlp.data import Vocabulary + + +@TokenEmbedder.register("elmo_token_embedder_multilang") +class ElmoTokenEmbedderMultiLang(TokenEmbedder): + """ + Extending ElmoTokenEmbedder for multiple languages. Each language has + different weights for the ELMo model and an alignment matrix. + Compute a single layer of ELMo representations. + + Parameters + ---------- + options_files : ``Dict[str, str]``, required. + A dictionary of language identifier to an ELMo JSON options file. + weight_files : ``Dict[str, str]``, required. + A dictionary of language identifier to an ELMo hdf5 weight file. + do_layer_norm : ``bool``, optional. + Should we apply layer normalization (passed to ``ScalarMix``)? + dropout : ``float``, optional. + The dropout value to be applied to the ELMo representations. + requires_grad : ``bool``, optional + If True, compute gradient of ELMo parameters for fine tuning. + projection_dim : ``int``, optional + If given, we will project the ELMo embedding down to this dimension. We recommend that you + try using ELMo with a lot of dropout and no projection first, but we have found a few cases + where projection helps (particulary where there is very limited training data). + vocab_to_cache : ``List[str]``, optional, (default = 0.5). + A list of words to pre-compute and cache character convolutions + for. If you use this option, the ElmoTokenEmbedder expects that you pass word + indices of shape (batch_size, timesteps) to forward, instead + of character indices. If you use this option and pass a word which + wasn't pre-cached, this will break. + scalar_mix_parameters : ``List[int]``, optional, (default=None). + If not ``None``, use these scalar mix parameters to weight the representations + produced by different layers. These mixing weights are not updated during + training. + aligning_files : ``Dict[str, str]``, optional, (default={}). + A dictionary of language identifier to a pth file with an alignment matrix. + """ + def __init__(self, + options_files: Dict[str, str], + weight_files: Dict[str, str], + do_layer_norm: bool = False, + dropout: float = 0.5, + requires_grad: bool = False, + projection_dim: int = None, + vocab_to_cache: List[str] = None, + scalar_mix_parameters: List[float] = None, + aligning_files: Dict[str, str] = {}) -> None: + super(ElmoTokenEmbedderMultiLang, self).__init__() + + assert (options_files.keys() == weight_files.keys()) + output_dim = -1 + for lang in weight_files.keys(): + name = 'elmo_%s' % lang + elmo = Elmo(options_files[lang], + weight_files[lang], + 1, + do_layer_norm=do_layer_norm, + dropout=dropout, + requires_grad=requires_grad, + vocab_to_cache=vocab_to_cache, + scalar_mix_parameters=scalar_mix_parameters) + self.add_module(name, elmo) + + output_dim_tmp = elmo.get_output_dim() + if output_dim != -1: + # Verify that all ELMo embedders have the same output dimension. + assert(output_dim_tmp == output_dim) + output_dim = output_dim_tmp + + self.output_dim = output_dim + + if projection_dim: + self._projection = torch.nn.Linear(output_dim, projection_dim) + self.output_dim = projection_dim + else: + self._projection = None + + for lang in weight_files.keys(): + name = 'aligning_%s' % lang + aligning_matrix = torch.eye(output_dim) + if lang in aligning_files and aligning_files[lang] != '': + aligninig_path = cached_path(aligning_files[lang]) + aligning_matrix = torch.FloatTensor(torch.load(aligninig_path)) + + aligning = torch.nn.Linear(output_dim, output_dim, bias=False) + aligning.weight = torch.nn.Parameter(aligning_matrix, requires_grad=False) + self.add_module(name, aligning) + + def get_output_dim(self): + return self.output_dim + + def forward(self, # pylint: disable=arguments-differ + inputs: torch.Tensor, + lang: str, + word_inputs: torch.Tensor = None) -> torch.Tensor: + """ + Parameters + ---------- + inputs: ``torch.Tensor`` + Shape ``(batch_size, timesteps, 50)`` of character ids representing the current batch. + lang : ``str``, , required. + The language of the ELMo embedder to use. + word_inputs : ``torch.Tensor``, optional. + If you passed a cached vocab, you can in addition pass a tensor of shape + ``(batch_size, timesteps)``, which represent word ids which have been pre-cached. + + Returns + ------- + The ELMo representations for the given language for the input sequence, shape + ``(batch_size, timesteps, embedding_dim)`` + """ + elmo = getattr(self, 'elmo_{}'.format(lang)) + elmo_output = elmo(inputs, word_inputs) + elmo_representations = elmo_output['elmo_representations'][0] + aligning = getattr(self, 'aligning_{}'.format(lang)) + elmo_representations = aligning(elmo_representations) + if self._projection: + projection = self._projection + for _ in range(elmo_representations.dim() - 2): + projection = TimeDistributed(projection) + elmo_representations = projection(elmo_representations) + return elmo_representations + + # Custom vocab_to_cache logic requires a from_params implementation. + @classmethod + def from_params(cls, vocab: Vocabulary, params: Params) -> 'ElmoTokenEmbedderMultiLang': # type: ignore + # pylint: disable=arguments-differ + options_files = params.pop('options_files') + weight_files = params.pop('weight_files') + for lang in options_files.keys(): + options_files.add_file_to_archive(lang) + for lang in weight_files.keys(): + weight_files.add_file_to_archive(lang) + requires_grad = params.pop('requires_grad', False) + do_layer_norm = params.pop_bool('do_layer_norm', False) + dropout = params.pop_float("dropout", 0.5) + namespace_to_cache = params.pop("namespace_to_cache", None) + if namespace_to_cache is not None: + vocab_to_cache = list(vocab.get_token_to_index_vocabulary(namespace_to_cache).keys()) + else: + vocab_to_cache = None + projection_dim = params.pop_int("projection_dim", None) + scalar_mix_parameters = params.pop('scalar_mix_parameters', None) + aligning_files = params.pop('aligning_files', {}) + params.assert_empty(cls.__name__) + return cls(options_files=options_files, + weight_files=weight_files, + do_layer_norm=do_layer_norm, + dropout=dropout, + requires_grad=requires_grad, + projection_dim=projection_dim, + vocab_to_cache=vocab_to_cache, + scalar_mix_parameters=scalar_mix_parameters, + aligning_files=aligning_files) diff --git a/training_config/multilang_dependency_parser.json b/training_config/multilang_dependency_parser.json new file mode 100644 index 00000000000..19dd644bf96 --- /dev/null +++ b/training_config/multilang_dependency_parser.json @@ -0,0 +1,136 @@ +{ + "dataset_reader": { + "type": "universal_dependencies_multilang", + "alternate": true, + "batch_size": 32, + "is_first_pass_for_vocab": true, + "lazy": true, + "token_indexers": { + "elmo": { + "type": "elmo_characters" + } + }, + "use_language_specific_pos": false + }, + "iterator": { + "type": "same_lang", + "batch_size": 32, + "instances_per_epoch": 32000 + }, + "model": { + "type": "biaffine_parser_multilang", + "arc_representation_dim": 500, + "dropout": 0.33, + "encoder": { + "type": "lstm", + "bidirectional": true, + "dropout": 0.33, + "hidden_size": 200, + "input_size": 1074, + "num_layers": 3 + }, + "langs_for_early_stop": [ + "en", + "de", + "it", + "fr", + "pt", + "sv" + ], + "pos_tag_embedding": { + "embedding_dim": 50, + "vocab_namespace": "pos" + }, + "tag_representation_dim": 100, + "text_field_embedder": { + "token_embedders": { + "elmo": { + "type": "elmo_token_embedder_multilang", + "aligning_files": { + "en": "https://www.dropbox.com/s/nufj4pxxgv5838r/en_best_mapping.pth?dl=1", + "es": "https://www.dropbox.com/s/6kqot8ssy66d5u0/es_best_mapping.pth?dl=1", + "fr": "https://www.dropbox.com/s/0zdlanjhajlgflm/fr_best_mapping.pth?dl=1", + "it": "https://www.dropbox.com/s/gg985snnhajhm5i/it_best_mapping.pth?dl=1", + "pt": "https://www.dropbox.com/s/skdfz6zfud24iup/pt_best_mapping.pth?dl=1", + "sv": "https://www.dropbox.com/s/o7v64hciyifvs8k/sv_best_mapping.pth?dl=1", + "de": "https://www.dropbox.com/s/u9cg19o81lpm0h0/de_best_mapping.pth?dl=1" + }, + "do_layer_norm": false, + "dropout": 0.3, + "scalar_mix_parameters": [ + -9e20, + 1, + -9e20 + ], + "options_files": { + "en": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", + "es": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", + "fr": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", + "it": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", + "pt": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", + "sv": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", + "de": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1" + }, + "weight_files": { + "en": "https://www.dropbox.com/s/1h62kc1qdcuyy2u/en_weights.hdf5?dl=1", + "es": "https://www.dropbox.com/s/ygfjm7zmufl5gu2/es_weights.hdf5?dl=1", + "fr": "https://www.dropbox.com/s/mm64goxb8wbawhj/fr_weights.hdf5?dl=1", + "it": "https://www.dropbox.com/s/owfou7coi04dyxf/it_weights.hdf5?dl=1", + "pt": "https://www.dropbox.com/s/ul82jsal1khfw5b/pt_weights.hdf5?dl=1", + "sv": "https://www.dropbox.com/s/boptz21zrs4h3nw/sv_weights.hdf5?dl=1", + "de": "https://www.dropbox.com/s/2kbjnvb12htgqk8/de_weights.hdf5?dl=1" + } + } + } + } + }, + "train_data_path": { + "de": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-train.conll", + "en": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-train.conll", + "fr": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-train.conll", + "it": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-train.conll", + "pt": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-train.conll", + "sv": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-train.conll" + }, + "validation_data_path": { + "de": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-dev.conll", + "en": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-dev.conll", + "es": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-dev.conll", + "fr": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-dev.conll", + "it": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-dev.conll", + "pt": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-dev.conll", + "sv": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-dev.conll" + }, + "test_data_path": { + "de": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-test.conll", + "en": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-test.conll", + "es": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-test.conll", + "fr": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-test.conll", + "it": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-test.conll", + "pt": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-test.conll", + "sv": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-test.conll" + }, + "trainer": { + "cuda_device": 0, + "num_epochs": 40, + "optimizer": "adam", + "patience": 10, + "validation_metric": "+LAS_AVG" + }, + "evaluate_on_test": true, + "validation_dataset_reader": { + "type": "universal_dependencies_multilang", + "alternate": false, + "lazy": true, + "token_indexers": { + "elmo": { + "type": "elmo_characters" + } + }, + "use_language_specific_pos": false + }, + "validation_iterator": { + "type": "same_lang", + "batch_size": 32 + } +} From 02660d6703f280124f50044f6a5c866b2f113b5c Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 18 Mar 2019 13:25:47 -0400 Subject: [PATCH 02/19] Clean multilang biaffine * Inherit unmodified functions from the biaffine parser. * Also using defaultdict for same_lang_iterator. --- allennlp/data/iterators/same_lang_iterator.py | 5 +- .../biaffine_dependency_parser_multilang.py | 429 ++---------------- 2 files changed, 36 insertions(+), 398 deletions(-) diff --git a/allennlp/data/iterators/same_lang_iterator.py b/allennlp/data/iterators/same_lang_iterator.py index 8caf76e456e..ccbb25b52d7 100755 --- a/allennlp/data/iterators/same_lang_iterator.py +++ b/allennlp/data/iterators/same_lang_iterator.py @@ -2,6 +2,7 @@ from typing import Iterable, Deque import logging import random +from collections import defaultdict from allennlp.common.util import lazy_groups_of from allennlp.data.instance import Instance @@ -11,11 +12,9 @@ logger = logging.getLogger(__name__) # pylint: disable=invalid-name def split_by_lang(instance_list): - insts_by_lang = {} + insts_by_lang = defaultdict(lambda: []) for inst in instance_list: inst_lang = inst.fields['metadata'].metadata['lang'] - if inst_lang not in insts_by_lang: - insts_by_lang[inst_lang] = [] insts_by_lang[inst_lang].append(inst) return iter(insts_by_lang.values()) diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index 7b851b6d715..e93e7bd6ab6 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -1,45 +1,41 @@ -from typing import Dict, Optional, Tuple, Any, List +from typing import Dict, Optional, Any, List import logging -import copy from overrides import overrides import torch -import torch.nn.functional as F -from torch.nn.modules import Dropout import numpy from collections import defaultdict from allennlp.common.checks import check_dimensions_match, ConfigurationError from allennlp.data import Vocabulary -from allennlp.modules import Seq2SeqEncoder, TextFieldEmbedder, Embedding, InputVariationalDropout -from allennlp.modules.matrix_attention.bilinear_matrix_attention import BilinearMatrixAttention +from allennlp.modules import Seq2SeqEncoder, TextFieldEmbedder, Embedding from allennlp.modules import FeedForward from allennlp.models.model import Model -from allennlp.nn import InitializerApplicator, RegularizerApplicator, Activation -from allennlp.nn.util import get_text_field_mask, get_range_vector -from allennlp.nn.util import get_device_of, masked_log_softmax, get_lengths_from_binary_sequence_mask -from allennlp.nn.chu_liu_edmonds import decode_mst +from allennlp.models.biaffine_dependency_parser import BiaffineDependencyParser +from allennlp.nn import InitializerApplicator, RegularizerApplicator +from allennlp.nn.util import get_text_field_mask from allennlp.training.metrics import AttachmentScores logger = logging.getLogger(__name__) # pylint: disable=invalid-name -POS_TO_IGNORE = {'``', "''", ':', ',', '.', 'PU', 'PUNCT', 'SYM'} - @Model.register("biaffine_parser_multilang") -class BiaffineDependencyParserMultiLang(Model): +class BiaffineDependencyParserMultiLang(BiaffineDependencyParser): """ - This dependency parser follows the model of - ` Deep Biaffine Attention for Neural Dependency Parsing (Dozat and Manning, 2016) - `_ . + This dependency parser implements the multi-lingual extension + of the Dozat and Manning (2016) model as described in + ` Cross-Lingual Alignment of Contextual Word Embeddings, with Applications to Zero-shot Dependency Parsing (Schuster et al., 2019) + `_ . + Also, please refer to the `alignment computation code + `_. + + All parameters are shared across all languages except for + the text_field_embedder. For aligned ELMo embeddings, use the + elmo_token_embedder_multilang with the pre-computed alignments + to the mutual embedding space. + Also, the universal_dependencies_multilang dataset reader + supports loading of multiple sources and storing the language + identifier in the metadata. - Word representations are generated using a bidirectional LSTM, - followed by separate biaffine classifiers for pairs of words, - predicting whether a directed arc exists between the two words - and the dependency label the arc should have. Decoding can either - be done greedily, or the optimial Minimum Spanning Tree can be - decoded using Edmond's algorithm by viewing the dependency tree as - a MST on a fully connected graph, where nodes are words and edges - are scored dependency arcs. Parameters ---------- @@ -65,6 +61,9 @@ class BiaffineDependencyParserMultiLang(Model): use_mst_decoding_for_validation : ``bool``, optional (default = True). Whether to use Edmond's algorithm to find the optimal minimum spanning tree during validation. If false, decoding is greedy. + langs_for_early_stop : ``List[str]``, optional, (default = ["en"]) + Which languages to include in the averaged metrics + (that could be used for early stopping). dropout : ``float``, optional, (default = 0.0) The variational dropout applied to the output of the encoder and MLP layers. input_dropout : ``float``, optional, (default = 0.0) @@ -89,64 +88,14 @@ def __init__(self, input_dropout: float = 0.0, initializer: InitializerApplicator = InitializerApplicator(), regularizer: Optional[RegularizerApplicator] = None) -> None: - super(BiaffineDependencyParserMultiLang, self).__init__(vocab, regularizer) + super(BiaffineDependencyParserMultiLang, self).__init__(vocab, text_field_embedder, + encoder, tag_representation_dim, arc_representation_dim, tag_feedforward, + arc_feedforward, pos_tag_embedding, use_mst_decoding_for_validation, dropout, + input_dropout, initializer, regularizer) - self.text_field_embedder = text_field_embedder - self.encoder = encoder self.langs_for_early_stop = langs_for_early_stop - encoder_dim = encoder.get_output_dim() - - - self.head_arc_feedforward = arc_feedforward or \ - FeedForward(encoder_dim, 1, - arc_representation_dim, - Activation.by_name("elu")()) - self.child_arc_feedforward = copy.deepcopy(self.head_arc_feedforward) - - self.arc_attention = BilinearMatrixAttention(arc_representation_dim, - arc_representation_dim, - use_input_biases=True) - - num_labels = self.vocab.get_vocab_size("head_tags") - - self.head_tag_feedforward = tag_feedforward or \ - FeedForward(encoder_dim, 1, - tag_representation_dim, - Activation.by_name("elu")()) - self.child_tag_feedforward = copy.deepcopy(self.head_tag_feedforward) - - self.tag_bilinear = torch.nn.modules.Bilinear(tag_representation_dim, - tag_representation_dim, - num_labels) - - self._pos_tag_embedding = pos_tag_embedding or None - self._dropout = InputVariationalDropout(dropout) - self._input_dropout = Dropout(input_dropout) - self._head_sentinel = torch.nn.Parameter(torch.randn([1, 1, encoder.get_output_dim()])) - - representation_dim = text_field_embedder.get_output_dim() - if pos_tag_embedding is not None: - representation_dim += pos_tag_embedding.get_output_dim() - - check_dimensions_match(representation_dim, encoder.get_input_dim(), - "text field embedding dim", "encoder input dim") - - check_dimensions_match(tag_representation_dim, self.head_tag_feedforward.get_output_dim(), - "tag representation dim", "tag feedforward output dim") - check_dimensions_match(arc_representation_dim, self.head_arc_feedforward.get_output_dim(), - "arc representation dim", "arc feedforward output dim") - - self.use_mst_decoding_for_validation = use_mst_decoding_for_validation - - tags = self.vocab.get_token_to_index_vocabulary("pos") - punctuation_tag_indices = {tag: index for tag, index in tags.items() if tag in POS_TO_IGNORE} - self._pos_to_ignore = set(punctuation_tag_indices.values()) - logger.info(f"Found POS tags correspoding to the following punctuation : {punctuation_tag_indices}. " - "Ignoring words with these POS tags for evaluation.") - self._attachment_scores = defaultdict(lambda: AttachmentScores()) - initializer(self) @overrides def forward(self, # type: ignore @@ -157,6 +106,10 @@ def forward(self, # type: ignore head_indices: torch.LongTensor = None) -> Dict[str, torch.Tensor]: # pylint: disable=arguments-differ """ + Embedding each language by the corresponding parameters for + ``TextFieldEmbedder``. Batches contain only samples from a + single language. + Parameters ---------- words : Dict[str, torch.LongTensor], required @@ -173,6 +126,9 @@ def forward(self, # type: ignore POS tags are required regardless of whether they are used in the model, because they are used to filter the evaluation metric to only consider heads of words which are not punctuation. + metadata : ``List[Dict[str, Any]]``, required. + A dictionary storing metadata for each sample. Should have a + ``lang`` key, identifying the language of each example. head_tags : torch.LongTensor, optional (default = None) A torch tensor representing the sequence of integer gold class labels for the arcs in the dependency parse. Has shape ``(batch_size, sequence_length)``. @@ -299,323 +255,6 @@ def forward(self, # type: ignore return output_dict - @overrides - def decode(self, output_dict: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]: - - head_tags = output_dict.pop("head_tags").cpu().detach().numpy() - heads = output_dict.pop("heads").cpu().detach().numpy() - mask = output_dict.pop("mask") - lengths = get_lengths_from_binary_sequence_mask(mask) - head_tag_labels = [] - head_indices = [] - for instance_heads, instance_tags, length in zip(heads, head_tags, lengths): - instance_heads = list(instance_heads[1:length]) - instance_tags = instance_tags[1:length] - labels = [self.vocab.get_token_from_index(label, "head_tags") - for label in instance_tags] - head_tag_labels.append(labels) - head_indices.append(instance_heads) - - output_dict["predicted_dependencies"] = head_tag_labels - output_dict["predicted_heads"] = head_indices - return output_dict - - def _construct_loss(self, - head_tag_representation: torch.Tensor, - child_tag_representation: torch.Tensor, - attended_arcs: torch.Tensor, - head_indices: torch.Tensor, - head_tags: torch.Tensor, - mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: - """ - Computes the arc and tag loss for a sequence given gold head indices and tags. - - Parameters - ---------- - head_tag_representation : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - child_tag_representation : ``torch.Tensor``, required - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - attended_arcs : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, sequence_length) used to generate - a distribution over attachements of a given word to all other words. - head_indices : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length). - The indices of the heads for every word. - head_tags : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length). - The dependency labels of the heads for every word. - mask : ``torch.Tensor``, required. - A mask of shape (batch_size, sequence_length), denoting unpadded - elements in the sequence. - - Returns - ------- - arc_nll : ``torch.Tensor``, required. - The negative log likelihood from the arc loss. - tag_nll : ``torch.Tensor``, required. - The negative log likelihood from the arc tag loss. - """ - float_mask = mask.float() - batch_size, sequence_length, _ = attended_arcs.size() - # shape (batch_size, 1) - range_vector = get_range_vector(batch_size, get_device_of(attended_arcs)).unsqueeze(1) - # shape (batch_size, sequence_length, sequence_length) - normalised_arc_logits = masked_log_softmax(attended_arcs, - mask) * float_mask.unsqueeze(2) * float_mask.unsqueeze(1) - - # shape (batch_size, sequence_length, num_head_tags) - head_tag_logits = self._get_head_tags(head_tag_representation, child_tag_representation, head_indices) - normalised_head_tag_logits = masked_log_softmax(head_tag_logits, - mask.unsqueeze(-1)) * float_mask.unsqueeze(-1) - # index matrix with shape (batch, sequence_length) - timestep_index = get_range_vector(sequence_length, get_device_of(attended_arcs)) - child_index = timestep_index.view(1, sequence_length).expand(batch_size, sequence_length).long() - # shape (batch_size, sequence_length) - arc_loss = normalised_arc_logits[range_vector, child_index, head_indices] - tag_loss = normalised_head_tag_logits[range_vector, child_index, head_tags] - # We don't care about predictions for the symbolic ROOT token's head, - # so we remove it from the loss. - arc_loss = arc_loss[:, 1:] - tag_loss = tag_loss[:, 1:] - - # The number of valid positions is equal to the number of unmasked elements minus - # 1 per sequence in the batch, to account for the symbolic HEAD token. - valid_positions = mask.sum() - batch_size - - arc_nll = -arc_loss.sum() / valid_positions.float() - tag_nll = -tag_loss.sum() / valid_positions.float() - return arc_nll, tag_nll - - def _greedy_decode(self, - head_tag_representation: torch.Tensor, - child_tag_representation: torch.Tensor, - attended_arcs: torch.Tensor, - mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: - """ - Decodes the head and head tag predictions by decoding the unlabeled arcs - independently for each word and then again, predicting the head tags of - these greedily chosen arcs indpendently. Note that this method of decoding - is not guaranteed to produce trees (i.e. there maybe be multiple roots, - or cycles when children are attached to their parents). - - Parameters - ---------- - head_tag_representation : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - child_tag_representation : ``torch.Tensor``, required - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - attended_arcs : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, sequence_length) used to generate - a distribution over attachements of a given word to all other words. - - Returns - ------- - heads : ``torch.Tensor`` - A tensor of shape (batch_size, sequence_length) representing the - greedily decoded heads of each word. - head_tags : ``torch.Tensor`` - A tensor of shape (batch_size, sequence_length) representing the - dependency tags of the greedily decoded heads of each word. - """ - # Mask the diagonal, because the head of a word can't be itself. - attended_arcs = attended_arcs + torch.diag(attended_arcs.new(mask.size(1)).fill_(-numpy.inf)) - # Mask padded tokens, because we only want to consider actual words as heads. - if mask is not None: - minus_mask = (1 - mask).byte().unsqueeze(2) - attended_arcs.masked_fill_(minus_mask, -numpy.inf) - - # Compute the heads greedily. - # shape (batch_size, sequence_length) - _, heads = attended_arcs.max(dim=2) - - # Given the greedily predicted heads, decode their dependency tags. - # shape (batch_size, sequence_length, num_head_tags) - head_tag_logits = self._get_head_tags(head_tag_representation, - child_tag_representation, - heads) - _, head_tags = head_tag_logits.max(dim=2) - return heads, head_tags - - def _mst_decode(self, - head_tag_representation: torch.Tensor, - child_tag_representation: torch.Tensor, - attended_arcs: torch.Tensor, - mask: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: - """ - Decodes the head and head tag predictions using the Edmonds' Algorithm - for finding minimum spanning trees on directed graphs. Nodes in the - graph are the words in the sentence, and between each pair of nodes, - there is an edge in each direction, where the weight of the edge corresponds - to the most likely dependency label probability for that arc. The MST is - then generated from this directed graph. - - Parameters - ---------- - head_tag_representation : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - child_tag_representation : ``torch.Tensor``, required - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - attended_arcs : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, sequence_length) used to generate - a distribution over attachements of a given word to all other words. - - Returns - ------- - heads : ``torch.Tensor`` - A tensor of shape (batch_size, sequence_length) representing the - greedily decoded heads of each word. - head_tags : ``torch.Tensor`` - A tensor of shape (batch_size, sequence_length) representing the - dependency tags of the optimally decoded heads of each word. - """ - batch_size, sequence_length, tag_representation_dim = head_tag_representation.size() - - lengths = mask.data.sum(dim=1).long().cpu().numpy() - - expanded_shape = [batch_size, sequence_length, sequence_length, tag_representation_dim] - head_tag_representation = head_tag_representation.unsqueeze(2) - head_tag_representation = head_tag_representation.expand(*expanded_shape).contiguous() - child_tag_representation = child_tag_representation.unsqueeze(1) - child_tag_representation = child_tag_representation.expand(*expanded_shape).contiguous() - # Shape (batch_size, sequence_length, sequence_length, num_head_tags) - pairwise_head_logits = self.tag_bilinear(head_tag_representation, child_tag_representation) - - # Note that this log_softmax is over the tag dimension, and we don't consider pairs - # of tags which are invalid (e.g are a pair which includes a padded element) anyway below. - # Shape (batch, num_labels,sequence_length, sequence_length) - normalized_pairwise_head_logits = F.log_softmax(pairwise_head_logits, dim=3).permute(0, 3, 1, 2) - - # Mask padded tokens, because we only want to consider actual words as heads. - minus_inf = -1e8 - minus_mask = (1 - mask.float()) * minus_inf - attended_arcs = attended_arcs + minus_mask.unsqueeze(2) + minus_mask.unsqueeze(1) - - # Shape (batch_size, sequence_length, sequence_length) - normalized_arc_logits = F.log_softmax(attended_arcs, dim=2).transpose(1, 2) - - # Shape (batch_size, num_head_tags, sequence_length, sequence_length) - # This energy tensor expresses the following relation: - # energy[i,j] = "Score that i is the head of j". In this - # case, we have heads pointing to their children. - batch_energy = torch.exp(normalized_arc_logits.unsqueeze(1) + normalized_pairwise_head_logits) - return self._run_mst_decoding(batch_energy, lengths) - - @staticmethod - def _run_mst_decoding(batch_energy: torch.Tensor, lengths: torch.Tensor) -> Tuple[torch.Tensor, torch.Tensor]: - heads = [] - head_tags = [] - for energy, length in zip(batch_energy.detach().cpu(), lengths): - scores, tag_ids = energy.max(dim=0) - # Although we need to include the root node so that the MST includes it, - # we do not want any word to be the parent of the root node. - # Here, we enforce this by setting the scores for all word -> ROOT edges - # edges to be 0. - scores[0, :] = 0 - # Decode the heads. Because we modify the scores to prevent - # adding in word -> ROOT edges, we need to find the labels ourselves. - instance_heads, _ = decode_mst(scores.numpy(), length, has_labels=False) - - # Find the labels which correspond to the edges in the max spanning tree. - instance_head_tags = [] - for child, parent in enumerate(instance_heads): - instance_head_tags.append(tag_ids[parent, child].item()) - # We don't care what the head or tag is for the root token, but by default it's - # not necesarily the same in the batched vs unbatched case, which is annoying. - # Here we'll just set them to zero. - instance_heads[0] = 0 - instance_head_tags[0] = 0 - heads.append(instance_heads) - head_tags.append(instance_head_tags) - return torch.from_numpy(numpy.stack(heads)), torch.from_numpy(numpy.stack(head_tags)) - - def _get_head_tags(self, - head_tag_representation: torch.Tensor, - child_tag_representation: torch.Tensor, - head_indices: torch.Tensor) -> torch.Tensor: - """ - Decodes the head tags given the head and child tag representations - and a tensor of head indices to compute tags for. Note that these are - either gold or predicted heads, depending on whether this function is - being called to compute the loss, or if it's being called during inference. - - Parameters - ---------- - head_tag_representation : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - child_tag_representation : ``torch.Tensor``, required - A tensor of shape (batch_size, sequence_length, tag_representation_dim), - which will be used to generate predictions for the dependency tags - for the given arcs. - head_indices : ``torch.Tensor``, required. - A tensor of shape (batch_size, sequence_length). The indices of the heads - for every word. - - Returns - ------- - head_tag_logits : ``torch.Tensor`` - A tensor of shape (batch_size, sequence_length, num_head_tags), - representing logits for predicting a distribution over tags - for each arc. - """ - batch_size = head_tag_representation.size(0) - # shape (batch_size,) - range_vector = get_range_vector(batch_size, get_device_of(head_tag_representation)).unsqueeze(1) - - # This next statement is quite a complex piece of indexing, which you really - # need to read the docs to understand. See here: - # https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html#advanced-indexing - # In effect, we are selecting the indices corresponding to the heads of each word from the - # sequence length dimension for each element in the batch. - - # shape (batch_size, sequence_length, tag_representation_dim) - selected_head_tag_representations = head_tag_representation[range_vector, head_indices] - selected_head_tag_representations = selected_head_tag_representations.contiguous() - # shape (batch_size, sequence_length, num_head_tags) - head_tag_logits = self.tag_bilinear(selected_head_tag_representations, - child_tag_representation) - return head_tag_logits - - def _get_mask_for_eval(self, - mask: torch.LongTensor, - pos_tags: torch.LongTensor) -> torch.LongTensor: - """ - Dependency evaluation excludes words are punctuation. - Here, we create a new mask to exclude word indices which - have a "punctuation-like" part of speech tag. - - Parameters - ---------- - mask : ``torch.LongTensor``, required. - The original mask. - pos_tags : ``torch.LongTensor``, required. - The pos tags for the sequence. - - Returns - ------- - A new mask, where any indices equal to labels - we should be ignoring are masked. - """ - new_mask = mask.detach() - for label in self._pos_to_ignore: - label_mask = pos_tags.eq(label).long() - new_mask = new_mask * (1 - label_mask) - return new_mask - @overrides def get_metrics(self, reset: bool = False) -> Dict[str, float]: metrics = {} From f62a0f67a05ae418cc72b2dea2896b957cdcf812 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 18 Mar 2019 15:59:31 -0400 Subject: [PATCH 03/19] Multi-lang dep config example * Jsonnet format --- ...on => multilang_dependency_parser.jsonnet} | 46 +++++++++++-------- 1 file changed, 26 insertions(+), 20 deletions(-) rename training_config/{multilang_dependency_parser.json => multilang_dependency_parser.jsonnet} (63%) diff --git a/training_config/multilang_dependency_parser.json b/training_config/multilang_dependency_parser.jsonnet similarity index 63% rename from training_config/multilang_dependency_parser.json rename to training_config/multilang_dependency_parser.jsonnet index 19dd644bf96..34088e6020d 100644 --- a/training_config/multilang_dependency_parser.json +++ b/training_config/multilang_dependency_parser.jsonnet @@ -1,3 +1,9 @@ +// Configuration for the multi-lingual dependency parser model based on: +// Schuster et al. "Cross-Lingual Alignment of Contextual Word Embeddings, with Applications to Zero-shot Dependency Parsing" +// https://arxiv.org/abs/1902.09492 (NAACL 2019) +// +// To recompute alignemts for ELMo, refer to: /~https://github.com/TalSchuster/CrossLingualELMo +// For the dataset, refer to /~https://github.com/ryanmcd/uni-dep-tb { "dataset_reader": { "type": "universal_dependencies_multilang", @@ -85,30 +91,30 @@ } }, "train_data_path": { - "de": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-train.conll", - "en": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-train.conll", - "fr": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-train.conll", - "it": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-train.conll", - "pt": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-train.conll", - "sv": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-train.conll" + "de": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-train.conll", + "en": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-train.conll", + "fr": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-train.conll", + "it": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-train.conll", + "pt": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-train.conll", + "sv": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-train.conll" }, "validation_data_path": { - "de": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-dev.conll", - "en": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-dev.conll", - "es": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-dev.conll", - "fr": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-dev.conll", - "it": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-dev.conll", - "pt": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-dev.conll", - "sv": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-dev.conll" + "de": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-dev.conll", + "en": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-dev.conll", + "es": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-dev.conll", + "fr": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-dev.conll", + "it": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-dev.conll", + "pt": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-dev.conll", + "sv": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-dev.conll" }, "test_data_path": { - "de": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-test.conll", - "en": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-test.conll", - "es": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-test.conll", - "fr": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-test.conll", - "it": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-test.conll", - "pt": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-test.conll", - "sv": "/scratch2/bsf_proj/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-test.conll" + "de": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-test.conll", + "en": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-test.conll", + "es": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-test.conll", + "fr": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-test.conll", + "it": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-test.conll", + "pt": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-test.conll", + "sv": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-test.conll" }, "trainer": { "cuda_device": 0, From 2101636dc98417d9f6eac777165c145f528f1f15 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 18 Mar 2019 16:33:28 -0400 Subject: [PATCH 04/19] Larger softmax value The previous one caused overflow sometimes. e-10 is good enough --- training_config/multilang_dependency_parser.jsonnet | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/training_config/multilang_dependency_parser.jsonnet b/training_config/multilang_dependency_parser.jsonnet index 34088e6020d..83130ed440a 100644 --- a/training_config/multilang_dependency_parser.jsonnet +++ b/training_config/multilang_dependency_parser.jsonnet @@ -64,9 +64,9 @@ "do_layer_norm": false, "dropout": 0.3, "scalar_mix_parameters": [ - -9e20, + -9e10, 1, - -9e20 + -9e10 ], "options_files": { "en": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", From 7884b8650d6fd64ced3855f3bba7eedda135253a Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Sat, 30 Mar 2019 02:49:54 -0400 Subject: [PATCH 05/19] formating --- .../universal_dependencies_multilang.py | 46 +++---- allennlp/data/iterators/same_lang_iterator.py | 7 +- .../biaffine_dependency_parser_multilang.py | 121 ++++++++++-------- .../basic_text_field_embedder.py | 4 +- .../text_field_embedder.py | 3 +- .../elmo_token_embedder_multilang.py | 61 +++++---- 6 files changed, 133 insertions(+), 109 deletions(-) diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index 15a3d727417..7503ab3281f 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -1,13 +1,11 @@ from typing import Dict, Tuple, List import logging import itertools -import numpy as np from collections import defaultdict +import numpy as np from overrides import overrides -from conllu.parser import parse_line, DEFAULT_FIELDS -from allennlp.common.file_utils import cached_path from allennlp.data.dataset_readers.dataset_reader import DatasetReader from allennlp.data.fields import Field, TextField, SequenceLabelField, MetadataField from allennlp.data.instance import Instance @@ -18,6 +16,22 @@ logger = logging.getLogger(__name__) # pylint: disable=invalid-name +def parse_file_paths(file_paths: Dict[str, str]): + """ + Converts from allennlp.params.Params to a python dict. + + Parameters + ---------- + file_paths : ``Dict[str, str]``, required. + The dictionary of identifier (e.g. "en" for English) to file path. + + Returns + ------- + A dictionary of identifier ("en","it" etc.) to file path. + """ + return dict(file_paths) + + @DatasetReader.register("universal_dependencies_multilang") class UniversalDependenciesMultiLangDatasetReader(DatasetReader): """ @@ -61,23 +75,7 @@ def __init__(self, self.iterators = None self.instances_per_lang = defaultdict(int) - def _parse_file_paths(self, file_paths: Dict[str, str]): - """ - Converts from allennlp.params.Params to a python dict. - - Parameters - ---------- - file_paths : ``Dict[str, str]``, required. - The dictionary of identifier (e.g. "en" for English) to file path. - - Returns - ------- - A dictionary of identifier ("en","it" etc.) to file path. - """ - return dict(file_paths) - - - def _read_one_file(self, lang, file_path): + def _read_one_file(self, lang: str, file_path: str): with open(file_path, 'r') as conllu_file: logger.info("Reading UD instances for %s language from conllu dataset at: %s", lang, file_path) @@ -100,9 +98,10 @@ def _read_one_file(self, lang, file_path): @overrides def _read(self, file_paths: Dict[str, str]): - file_paths = self._parse_file_paths(file_paths) + file_paths = parse_file_paths(file_paths) if (self.is_first_pass and self.is_first_pass_for_vocab) or (not self.alternate): - iterators = [(lang, iter(self._read_one_file(lang, value))) for (lang, value) in file_paths.items()] + iterators = [(lang, iter(self._read_one_file(lang, value))) \ + for (lang, value) in file_paths.items()] _, iterators = zip(*iterators) self.is_first_pass = False for inst in itertools.chain(*iterators): @@ -111,7 +110,8 @@ def _read(self, file_paths: Dict[str, str]): self.instances_per_lang = defaultdict(int) else: if self.iterators is None: - self.iterators = [(lang, iter(self._read_one_file(lang, value))) for (lang, value) in file_paths.items()] + self.iterators = [(lang, iter(self._read_one_file(lang, value))) \ + for (lang, value) in file_paths.items()] num_langs = len(file_paths) while True: lang_num = np.random.randint(num_langs) diff --git a/allennlp/data/iterators/same_lang_iterator.py b/allennlp/data/iterators/same_lang_iterator.py index ccbb25b52d7..4b95b3d2082 100755 --- a/allennlp/data/iterators/same_lang_iterator.py +++ b/allennlp/data/iterators/same_lang_iterator.py @@ -1,8 +1,7 @@ -from collections import deque +from collections import deque, defaultdict from typing import Iterable, Deque import logging import random -from collections import defaultdict from allennlp.common.util import lazy_groups_of from allennlp.data.instance import Instance @@ -39,8 +38,8 @@ def _create_batches(self, instances: Iterable[Instance], shuffle: bool) -> Itera excess: Deque[Instance] = deque() # Then break each memory-sized list into batches. for batch_instances in lazy_groups_of(iterator, self._batch_size): - for possibly_smaller_batches in self._ensure_batch_is_sufficiently_small(batch_instances, excess): - batch = Batch(possibly_smaller_batches) + for poss_smaller_batches in self._ensure_batch_is_sufficiently_small(batch_instances, excess): + batch = Batch(poss_smaller_batches) yield batch if excess: yield Batch(excess) diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index e93e7bd6ab6..065ae3291a9 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -1,12 +1,12 @@ from typing import Dict, Optional, Any, List import logging +from collections import defaultdict from overrides import overrides import torch import numpy -from collections import defaultdict -from allennlp.common.checks import check_dimensions_match, ConfigurationError +from allennlp.common.checks import ConfigurationError from allennlp.data import Vocabulary from allennlp.modules import Seq2SeqEncoder, TextFieldEmbedder, Embedding from allennlp.modules import FeedForward @@ -18,13 +18,14 @@ logger = logging.getLogger(__name__) # pylint: disable=invalid-name + @Model.register("biaffine_parser_multilang") class BiaffineDependencyParserMultiLang(BiaffineDependencyParser): """ This dependency parser implements the multi-lingual extension of the Dozat and Manning (2016) model as described in - ` Cross-Lingual Alignment of Contextual Word Embeddings, with Applications to Zero-shot Dependency Parsing (Schuster et al., 2019) - `_ . + `Cross-Lingual Alignment of Contextual Word Embeddings, with Applications to Zero-shot + Dependency Parsing (Schuster et al., 2019) `_ . Also, please refer to the `alignment computation code `_. @@ -73,6 +74,7 @@ class BiaffineDependencyParserMultiLang(BiaffineDependencyParser): regularizer : ``RegularizerApplicator``, optional (default=``None``) If provided, will be used to calculate the regularization penalty during training. """ + def __init__(self, vocab: Vocabulary, text_field_embedder: TextFieldEmbedder, @@ -88,22 +90,24 @@ def __init__(self, input_dropout: float = 0.0, initializer: InitializerApplicator = InitializerApplicator(), regularizer: Optional[RegularizerApplicator] = None) -> None: - super(BiaffineDependencyParserMultiLang, self).__init__(vocab, text_field_embedder, - encoder, tag_representation_dim, arc_representation_dim, tag_feedforward, - arc_feedforward, pos_tag_embedding, use_mst_decoding_for_validation, dropout, - input_dropout, initializer, regularizer) + super(BiaffineDependencyParserMultiLang, self).__init__( + vocab, text_field_embedder, encoder, tag_representation_dim, + arc_representation_dim, tag_feedforward, arc_feedforward, + pos_tag_embedding, use_mst_decoding_for_validation, dropout, + input_dropout, initializer, regularizer) self.langs_for_early_stop = langs_for_early_stop - self._attachment_scores = defaultdict(lambda: AttachmentScores()) + self._attachment_scores = defaultdict(AttachmentScores()) @overrides - def forward(self, # type: ignore - words: Dict[str, torch.LongTensor], - pos_tags: torch.LongTensor, - metadata: List[Dict[str, Any]], - head_tags: torch.LongTensor = None, - head_indices: torch.LongTensor = None) -> Dict[str, torch.Tensor]: + def forward( + self, # type: ignore + words: Dict[str, torch.LongTensor], + pos_tags: torch.LongTensor, + metadata: List[Dict[str, Any]], + head_tags: torch.LongTensor = None, + head_indices: torch.LongTensor = None) -> Dict[str, torch.Tensor]: # pylint: disable=arguments-differ """ Embedding each language by the corresponding parameters for @@ -168,78 +172,85 @@ def forward(self, # type: ignore if pos_tags is not None and self._pos_tag_embedding is not None: embedded_pos_tags = self._pos_tag_embedding(pos_tags) - embedded_text_input = torch.cat([embedded_text_input, embedded_pos_tags], -1) + embedded_text_input = torch.cat( + [embedded_text_input, embedded_pos_tags], -1) elif self._pos_tag_embedding is not None: - raise ConfigurationError("Model uses a POS embedding, but no POS tags were passed.") + raise ConfigurationError( + "Model uses a POS embedding, but no POS tags were passed.") mask = get_text_field_mask(words) embedded_text_input = self._input_dropout(embedded_text_input) encoded_text = self.encoder(embedded_text_input, mask) - batch_size, sequence_length, encoding_dim = encoded_text.size() + batch_size, _, encoding_dim = encoded_text.size() head_sentinel = self._head_sentinel.expand(batch_size, 1, encoding_dim) # Concatenate the head sentinel onto the sentence representation. encoded_text = torch.cat([head_sentinel, encoded_text], 1) mask = torch.cat([mask.new_ones(batch_size, 1), mask], 1) if head_indices is not None: - head_indices = torch.cat([head_indices.new_zeros(batch_size, 1), head_indices], 1) + head_indices = torch.cat( + [head_indices.new_zeros(batch_size, 1), head_indices], 1) if head_tags is not None: - head_tags = torch.cat([head_tags.new_zeros(batch_size, 1), head_tags], 1) + head_tags = torch.cat( + [head_tags.new_zeros(batch_size, 1), head_tags], 1) float_mask = mask.float() encoded_text = self._dropout(encoded_text) # shape (batch_size, sequence_length, arc_representation_dim) - head_arc_representation = self._dropout(self.head_arc_feedforward(encoded_text)) - child_arc_representation = self._dropout(self.child_arc_feedforward(encoded_text)) + head_arc_representation = self._dropout( + self.head_arc_feedforward(encoded_text)) + child_arc_representation = self._dropout( + self.child_arc_feedforward(encoded_text)) # shape (batch_size, sequence_length, tag_representation_dim) - head_tag_representation = self._dropout(self.head_tag_feedforward(encoded_text)) - child_tag_representation = self._dropout(self.child_tag_feedforward(encoded_text)) + head_tag_representation = self._dropout( + self.head_tag_feedforward(encoded_text)) + child_tag_representation = self._dropout( + self.child_tag_feedforward(encoded_text)) # shape (batch_size, sequence_length, sequence_length) attended_arcs = self.arc_attention(head_arc_representation, child_arc_representation) minus_inf = -1e8 minus_mask = (1 - float_mask) * minus_inf - attended_arcs = attended_arcs + minus_mask.unsqueeze(2) + minus_mask.unsqueeze(1) + attended_arcs = attended_arcs + minus_mask.unsqueeze( + 2) + minus_mask.unsqueeze(1) if self.training or not self.use_mst_decoding_for_validation: - predicted_heads, predicted_head_tags = self._greedy_decode(head_tag_representation, - child_tag_representation, - attended_arcs, - mask) + predicted_heads, predicted_head_tags = self._greedy_decode( + head_tag_representation, child_tag_representation, + attended_arcs, mask) else: - predicted_heads, predicted_head_tags = self._mst_decode(head_tag_representation, - child_tag_representation, - attended_arcs, - mask) + predicted_heads, predicted_head_tags = self._mst_decode( + head_tag_representation, child_tag_representation, + attended_arcs, mask) if head_indices is not None and head_tags is not None: - arc_nll, tag_nll = self._construct_loss(head_tag_representation=head_tag_representation, - child_tag_representation=child_tag_representation, - attended_arcs=attended_arcs, - head_indices=head_indices, - head_tags=head_tags, - mask=mask) + arc_nll, tag_nll = self._construct_loss( + head_tag_representation=head_tag_representation, + child_tag_representation=child_tag_representation, + attended_arcs=attended_arcs, + head_indices=head_indices, + head_tags=head_tags, + mask=mask) loss = arc_nll + tag_nll evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) # We calculate attatchment scores for the whole sentence # but excluding the symbolic ROOT token at the start, # which is why we start from the second element in the sequence. - self._attachment_scores[batch_lang](predicted_heads[:, 1:], - predicted_head_tags[:, 1:], - head_indices[:, 1:], - head_tags[:, 1:], - evaluation_mask) + self._attachment_scores[batch_lang]( + predicted_heads[:, 1:], predicted_head_tags[:, 1:], + head_indices[:, 1:], head_tags[:, 1:], evaluation_mask) else: - arc_nll, tag_nll = self._construct_loss(head_tag_representation=head_tag_representation, - child_tag_representation=child_tag_representation, - attended_arcs=attended_arcs, - head_indices=predicted_heads.long(), - head_tags=predicted_head_tags.long(), - mask=mask) + arc_nll, tag_nll = self._construct_loss( + head_tag_representation=head_tag_representation, + child_tag_representation=child_tag_representation, + attended_arcs=attended_arcs, + head_indices=predicted_heads.long(), + head_tags=predicted_head_tags.long(), + mask=mask) loss = arc_nll + tag_nll output_dict = { @@ -251,7 +262,7 @@ def forward(self, # type: ignore "mask": mask, "words": [meta["words"] for meta in metadata], "pos": [meta["pos"] for meta in metadata] - } + } return output_dict @@ -268,7 +279,8 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: for key in lang_metrics.keys(): # Store only those metrics. if key in ['UAS', 'LAS', 'loss']: - metrics_wlang["{}_{}".format(key, lang)] = lang_metrics[key] + metrics_wlang["{}_{}".format(key, + lang)] = lang_metrics[key] # Include in the average only languages that should count for early stopping. if lang in self.langs_for_early_stop: @@ -277,5 +289,8 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: metrics.update(metrics_wlang) - metrics.update({"UAS_AVG": numpy.mean(all_uas), "LAS_AVG": numpy.mean(all_las)}) + metrics.update({ + "UAS_AVG": numpy.mean(all_uas), + "LAS_AVG": numpy.mean(all_las) + }) return metrics diff --git a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py index e73f8ed0b40..0774ad10eb0 100644 --- a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py @@ -65,7 +65,9 @@ def get_output_dim(self) -> int: output_dim += embedder.get_output_dim() return output_dim - def forward(self, text_field_input: Dict[str, torch.Tensor], num_wrapping_dims: int = 0, **kwargs) -> torch.Tensor: + def forward(self, text_field_input: Dict[str, torch.Tensor], + num_wrapping_dims: int = 0, + **kwargs) -> torch.Tensor: embedder_keys = self._token_embedders.keys() input_keys = text_field_input.keys() diff --git a/allennlp/modules/text_field_embedders/text_field_embedder.py b/allennlp/modules/text_field_embedders/text_field_embedder.py index 0d7efb1b818..cc87da95475 100644 --- a/allennlp/modules/text_field_embedders/text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/text_field_embedder.py @@ -25,7 +25,8 @@ class TextFieldEmbedder(torch.nn.Module, Registrable): def forward(self, # pylint: disable=arguments-differ text_field_input: Dict[str, torch.Tensor], - num_wrapping_dims: int = 0) -> torch.Tensor: + num_wrapping_dims: int = 0, + **kwargs) -> torch.Tensor: """ Parameters ---------- diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index f2fcadc47e8..00516d96d07 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -45,6 +45,7 @@ class ElmoTokenEmbedderMultiLang(TokenEmbedder): aligning_files : ``Dict[str, str]``, optional, (default={}). A dictionary of language identifier to a pth file with an alignment matrix. """ + def __init__(self, options_files: Dict[str, str], weight_files: Dict[str, str], @@ -57,24 +58,25 @@ def __init__(self, aligning_files: Dict[str, str] = {}) -> None: super(ElmoTokenEmbedderMultiLang, self).__init__() - assert (options_files.keys() == weight_files.keys()) + assert options_files.keys() == weight_files.keys() output_dim = -1 for lang in weight_files.keys(): name = 'elmo_%s' % lang - elmo = Elmo(options_files[lang], - weight_files[lang], - 1, - do_layer_norm=do_layer_norm, - dropout=dropout, - requires_grad=requires_grad, - vocab_to_cache=vocab_to_cache, - scalar_mix_parameters=scalar_mix_parameters) + elmo = Elmo( + options_files[lang], + weight_files[lang], + 1, + do_layer_norm=do_layer_norm, + dropout=dropout, + requires_grad=requires_grad, + vocab_to_cache=vocab_to_cache, + scalar_mix_parameters=scalar_mix_parameters) self.add_module(name, elmo) output_dim_tmp = elmo.get_output_dim() if output_dim != -1: # Verify that all ELMo embedders have the same output dimension. - assert(output_dim_tmp == output_dim) + assert output_dim_tmp == output_dim output_dim = output_dim_tmp self.output_dim = output_dim @@ -88,21 +90,23 @@ def __init__(self, for lang in weight_files.keys(): name = 'aligning_%s' % lang aligning_matrix = torch.eye(output_dim) - if lang in aligning_files and aligning_files[lang] != '': + if lang in aligning_files and aligning_files[lang] != '': aligninig_path = cached_path(aligning_files[lang]) aligning_matrix = torch.FloatTensor(torch.load(aligninig_path)) aligning = torch.nn.Linear(output_dim, output_dim, bias=False) - aligning.weight = torch.nn.Parameter(aligning_matrix, requires_grad=False) + aligning.weight = torch.nn.Parameter( + aligning_matrix, requires_grad=False) self.add_module(name, aligning) def get_output_dim(self): return self.output_dim - def forward(self, # pylint: disable=arguments-differ - inputs: torch.Tensor, - lang: str, - word_inputs: torch.Tensor = None) -> torch.Tensor: + def forward( + self, # pylint: disable=arguments-differ + inputs: torch.Tensor, + lang: str, + word_inputs: torch.Tensor = None) -> torch.Tensor: """ Parameters ---------- @@ -133,7 +137,8 @@ def forward(self, # pylint: disable=arguments-differ # Custom vocab_to_cache logic requires a from_params implementation. @classmethod - def from_params(cls, vocab: Vocabulary, params: Params) -> 'ElmoTokenEmbedderMultiLang': # type: ignore + def from_params(cls, vocab: Vocabulary, params: Params + ) -> 'ElmoTokenEmbedderMultiLang': # type: ignore # pylint: disable=arguments-differ options_files = params.pop('options_files') weight_files = params.pop('weight_files') @@ -146,19 +151,21 @@ def from_params(cls, vocab: Vocabulary, params: Params) -> 'ElmoTokenEmbedderMul dropout = params.pop_float("dropout", 0.5) namespace_to_cache = params.pop("namespace_to_cache", None) if namespace_to_cache is not None: - vocab_to_cache = list(vocab.get_token_to_index_vocabulary(namespace_to_cache).keys()) + vocab_to_cache = list( + vocab.get_token_to_index_vocabulary(namespace_to_cache).keys()) else: vocab_to_cache = None projection_dim = params.pop_int("projection_dim", None) scalar_mix_parameters = params.pop('scalar_mix_parameters', None) aligning_files = params.pop('aligning_files', {}) params.assert_empty(cls.__name__) - return cls(options_files=options_files, - weight_files=weight_files, - do_layer_norm=do_layer_norm, - dropout=dropout, - requires_grad=requires_grad, - projection_dim=projection_dim, - vocab_to_cache=vocab_to_cache, - scalar_mix_parameters=scalar_mix_parameters, - aligning_files=aligning_files) + return cls( + options_files=options_files, + weight_files=weight_files, + do_layer_norm=do_layer_norm, + dropout=dropout, + requires_grad=requires_grad, + projection_dim=projection_dim, + vocab_to_cache=vocab_to_cache, + scalar_mix_parameters=scalar_mix_parameters, + aligning_files=aligning_files) From 4c3ade34ed6efe63ef15d3c0cdab127ba34f9cfc Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Fri, 12 Apr 2019 03:37:19 -0400 Subject: [PATCH 06/19] reorganize multilang dataset reader to work with a pathname --- .../universal_dependencies_multilang.py | 95 ++++++++++++------- .../biaffine_dependency_parser_multilang.py | 91 +++++++++--------- .../multilang_dependency_parser.jsonnet | 34 ++----- 3 files changed, 112 insertions(+), 108 deletions(-) diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index 7503ab3281f..6476d01db19 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -1,11 +1,14 @@ from typing import Dict, Tuple, List import logging import itertools +import glob +import os from collections import defaultdict import numpy as np from overrides import overrides +from allennlp.common.checks import ConfigurationError from allennlp.data.dataset_readers.dataset_reader import DatasetReader from allennlp.data.fields import Field, TextField, SequenceLabelField, MetadataField from allennlp.data.instance import Instance @@ -16,33 +19,54 @@ logger = logging.getLogger(__name__) # pylint: disable=invalid-name -def parse_file_paths(file_paths: Dict[str, str]): +def get_file_paths(pathname: str, languages : List[str]): """ - Converts from allennlp.params.Params to a python dict. + Gets a list of all files by the pathname with the given language ids. + Filenames are assumed to have the language identifier followed by a dash + as a prefix (e.g. en-train.conll). Parameters ---------- - file_paths : ``Dict[str, str]``, required. - The dictionary of identifier (e.g. "en" for English) to file path. + pathname : ``str``, required. + An absolute or relative pathname (can contain shell-style wildcards) + languages : ``List[str]``, required + The language identifiers to use. Returns ------- - A dictionary of identifier ("en","it" etc.) to file path. + A list of tuples (language id, file path). """ - return dict(file_paths) + paths = [] + for file_path in glob.glob(pathname): + base = os.path.splitext(os.path.basename(file_path))[0] + lang_id = base.split('-')[0] + if lang_id in languages: + paths.append((lang_id, file_path)) + + if len(paths) == 0: + raise ConfigurationError("No dataset files to read") + + return paths @DatasetReader.register("universal_dependencies_multilang") class UniversalDependenciesMultiLangDatasetReader(DatasetReader): """ - Wraps UniversalDependenciesDatasetReader to support multiple input files. - Reads consecutive cases from each input files by the given batch_size. + Reads multiple files in the conllu Universal Dependencies format. + All files should be in the same directory and the filenames should have + the language identifier followed by a dash as a prefix (e.g. en-universal.conll) + When using the alternate option, the reader alternates randomly between + the files every instances_per_file. The is_first_pass_for_vocab disables + this behaviour for the first pass (could be useful for a single full path + over the dataset in order to generate a vocabulary). Notice: when using the alternate option, one should also use the ``instances_per_epoch`` option for the iterator. Otherwise, each epoch will loop infinitely. Parameters ---------- + languages : ``List[str]``, required + The language identifiers to use. token_indexers : ``Dict[str, TokenIndexer]``, optional (default=``{"tokens": SingleIdTokenIndexer()}``) The token indexers to be applied to the words TextField. use_language_specific_pos : ``bool``, optional (default = False) @@ -53,27 +77,28 @@ class UniversalDependenciesMultiLangDatasetReader(DatasetReader): is_first_pass_for_vocab : ``bool``, optional (default = True) Whether the first pass will be for generating the vocab. If true, the first pass will run over the entire dataset of each file (even if alternate is on). - batch_size : ``int``, optional (default = 32) + instances_per_file : ``int``, optional (default = 32) The amount of consecutive cases to sample from each input file when alternating. """ def __init__(self, + languages: List[str], token_indexers: Dict[str, TokenIndexer] = None, use_language_specific_pos: bool = False, lazy: bool = False, alternate: bool = True, is_first_pass_for_vocab: bool = True, - batch_size: int = 32) -> None: + instances_per_file: int = 32) -> None: super().__init__(lazy) + self._languages = languages self._token_indexers = token_indexers or {'tokens': SingleIdTokenIndexer()} - self.use_language_specific_pos = use_language_specific_pos + self._use_language_specific_pos = use_language_specific_pos - self.is_first_pass_for_vocab = is_first_pass_for_vocab - self.alternate = alternate - self.batch_size = batch_size + self._is_first_pass_for_vocab = is_first_pass_for_vocab + self._alternate = alternate + self._instances_per_file = instances_per_file - self.is_first_pass = True - self.iterators = None - self.instances_per_lang = defaultdict(int) + self._is_first_pass = True + self._iterators = None def _read_one_file(self, lang: str, file_path: str): with open(file_path, 'r') as conllu_file: @@ -90,42 +115,40 @@ def _read_one_file(self, lang: str, file_path: str): heads = [x["head"] for x in annotation] tags = [x["deprel"] for x in annotation] words = [x["form"] for x in annotation] - if self.use_language_specific_pos: + if self._use_language_specific_pos: pos_tags = [x["xpostag"] for x in annotation] else: pos_tags = [x["upostag"] for x in annotation] yield self.text_to_instance(lang, words, pos_tags, list(zip(tags, heads))) @overrides - def _read(self, file_paths: Dict[str, str]): - file_paths = parse_file_paths(file_paths) - if (self.is_first_pass and self.is_first_pass_for_vocab) or (not self.alternate): - iterators = [(lang, iter(self._read_one_file(lang, value))) \ - for (lang, value) in file_paths.items()] + def _read(self, pathname: str): + file_paths = get_file_paths(pathname, self._languages) + if (self._is_first_pass and self._is_first_pass_for_vocab) or (not self._alternate): + iterators = [(lang, iter(self._read_one_file(lang, file_path))) \ + for (lang, file_path) in file_paths] _, iterators = zip(*iterators) - self.is_first_pass = False + self._is_first_pass = False for inst in itertools.chain(*iterators): yield inst - self.instances_per_lang = defaultdict(int) else: - if self.iterators is None: - self.iterators = [(lang, iter(self._read_one_file(lang, value))) \ - for (lang, value) in file_paths.items()] - num_langs = len(file_paths) + if self._iterators is None: + self._iterators = [(lang, iter(self._read_one_file(lang, file_path))) \ + for (lang, file_path) in file_paths] + num_files = len(file_paths) while True: - lang_num = np.random.randint(num_langs) - lang, lang_iter = self.iterators[lang_num] - for _ in range(self.batch_size): + ind = np.random.randint(num_files) + lang, lang_iter = self._iterators[ind] + for _ in range(self._instances_per_file): try: yield lang_iter.__next__() except StopIteration: - lang_iter = iter(self._read_one_file(lang, file_paths[lang])) - self.iterators[lang_num] = (lang, lang_iter) + lang, file_path = file_paths[ind] + lang_iter = iter(self._read_one_file(lang, file_path)) + self._iterators[ind] = (lang, lang_iter) yield lang_iter.__next__() - self.instances_per_lang[lang] += 1 - @overrides def text_to_instance(self, # type: ignore lang: str, diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index 065ae3291a9..6525b19a132 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -91,14 +91,14 @@ def __init__(self, initializer: InitializerApplicator = InitializerApplicator(), regularizer: Optional[RegularizerApplicator] = None) -> None: super(BiaffineDependencyParserMultiLang, self).__init__( - vocab, text_field_embedder, encoder, tag_representation_dim, - arc_representation_dim, tag_feedforward, arc_feedforward, - pos_tag_embedding, use_mst_decoding_for_validation, dropout, - input_dropout, initializer, regularizer) + vocab, text_field_embedder, encoder, tag_representation_dim, + arc_representation_dim, tag_feedforward, arc_feedforward, + pos_tag_embedding, use_mst_decoding_for_validation, dropout, + input_dropout, initializer, regularizer) self.langs_for_early_stop = langs_for_early_stop - self._attachment_scores = defaultdict(AttachmentScores()) + self._attachment_scores = defaultdict(lambda: AttachmentScores()) @overrides def forward( @@ -161,7 +161,8 @@ def forward( """ if 'lang' not in metadata[0]: raise ConfigurationError("metadata is missing 'lang' key.\ - For multi lang, use universal_dependencies_multilang dataset_reader.") + For multi lang, use universal_dependencies_multilang dataset_reader." + ) batch_lang = metadata[0]['lang'] for entry in metadata: @@ -173,10 +174,10 @@ def forward( if pos_tags is not None and self._pos_tag_embedding is not None: embedded_pos_tags = self._pos_tag_embedding(pos_tags) embedded_text_input = torch.cat( - [embedded_text_input, embedded_pos_tags], -1) + [embedded_text_input, embedded_pos_tags], -1) elif self._pos_tag_embedding is not None: raise ConfigurationError( - "Model uses a POS embedding, but no POS tags were passed.") + "Model uses a POS embedding, but no POS tags were passed.") mask = get_text_field_mask(words) embedded_text_input = self._input_dropout(embedded_text_input) @@ -190,24 +191,24 @@ def forward( mask = torch.cat([mask.new_ones(batch_size, 1), mask], 1) if head_indices is not None: head_indices = torch.cat( - [head_indices.new_zeros(batch_size, 1), head_indices], 1) + [head_indices.new_zeros(batch_size, 1), head_indices], 1) if head_tags is not None: head_tags = torch.cat( - [head_tags.new_zeros(batch_size, 1), head_tags], 1) + [head_tags.new_zeros(batch_size, 1), head_tags], 1) float_mask = mask.float() encoded_text = self._dropout(encoded_text) # shape (batch_size, sequence_length, arc_representation_dim) head_arc_representation = self._dropout( - self.head_arc_feedforward(encoded_text)) + self.head_arc_feedforward(encoded_text)) child_arc_representation = self._dropout( - self.child_arc_feedforward(encoded_text)) + self.child_arc_feedforward(encoded_text)) # shape (batch_size, sequence_length, tag_representation_dim) head_tag_representation = self._dropout( - self.head_tag_feedforward(encoded_text)) + self.head_tag_feedforward(encoded_text)) child_tag_representation = self._dropout( - self.child_tag_feedforward(encoded_text)) + self.child_tag_feedforward(encoded_text)) # shape (batch_size, sequence_length, sequence_length) attended_arcs = self.arc_attention(head_arc_representation, child_arc_representation) @@ -215,53 +216,55 @@ def forward( minus_inf = -1e8 minus_mask = (1 - float_mask) * minus_inf attended_arcs = attended_arcs + minus_mask.unsqueeze( - 2) + minus_mask.unsqueeze(1) + 2) + minus_mask.unsqueeze(1) if self.training or not self.use_mst_decoding_for_validation: predicted_heads, predicted_head_tags = self._greedy_decode( - head_tag_representation, child_tag_representation, - attended_arcs, mask) + head_tag_representation, child_tag_representation, + attended_arcs, mask) else: predicted_heads, predicted_head_tags = self._mst_decode( - head_tag_representation, child_tag_representation, - attended_arcs, mask) + head_tag_representation, child_tag_representation, + attended_arcs, mask) if head_indices is not None and head_tags is not None: arc_nll, tag_nll = self._construct_loss( - head_tag_representation=head_tag_representation, - child_tag_representation=child_tag_representation, - attended_arcs=attended_arcs, - head_indices=head_indices, - head_tags=head_tags, - mask=mask) + head_tag_representation=head_tag_representation, + child_tag_representation=child_tag_representation, + attended_arcs=attended_arcs, + head_indices=head_indices, + head_tags=head_tags, + mask=mask) loss = arc_nll + tag_nll evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) # We calculate attatchment scores for the whole sentence # but excluding the symbolic ROOT token at the start, # which is why we start from the second element in the sequence. - self._attachment_scores[batch_lang]( - predicted_heads[:, 1:], predicted_head_tags[:, 1:], - head_indices[:, 1:], head_tags[:, 1:], evaluation_mask) + self._attachment_scores[batch_lang](predicted_heads[:, 1:], + predicted_head_tags[:, 1:], + head_indices[:, 1:], + head_tags[:, 1:], + evaluation_mask) else: arc_nll, tag_nll = self._construct_loss( - head_tag_representation=head_tag_representation, - child_tag_representation=child_tag_representation, - attended_arcs=attended_arcs, - head_indices=predicted_heads.long(), - head_tags=predicted_head_tags.long(), - mask=mask) + head_tag_representation=head_tag_representation, + child_tag_representation=child_tag_representation, + attended_arcs=attended_arcs, + head_indices=predicted_heads.long(), + head_tags=predicted_head_tags.long(), + mask=mask) loss = arc_nll + tag_nll output_dict = { - "heads": predicted_heads, - "head_tags": predicted_head_tags, - "arc_loss": arc_nll, - "tag_loss": tag_nll, - "loss": loss, - "mask": mask, - "words": [meta["words"] for meta in metadata], - "pos": [meta["pos"] for meta in metadata] + "heads": predicted_heads, + "head_tags": predicted_head_tags, + "arc_loss": arc_nll, + "tag_loss": tag_nll, + "loss": loss, + "mask": mask, + "words": [meta["words"] for meta in metadata], + "pos": [meta["pos"] for meta in metadata] } return output_dict @@ -290,7 +293,7 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: metrics.update(metrics_wlang) metrics.update({ - "UAS_AVG": numpy.mean(all_uas), - "LAS_AVG": numpy.mean(all_las) + "UAS_AVG": numpy.mean(all_uas), + "LAS_AVG": numpy.mean(all_las) }) return metrics diff --git a/training_config/multilang_dependency_parser.jsonnet b/training_config/multilang_dependency_parser.jsonnet index 83130ed440a..e6396664ff6 100644 --- a/training_config/multilang_dependency_parser.jsonnet +++ b/training_config/multilang_dependency_parser.jsonnet @@ -7,8 +7,9 @@ { "dataset_reader": { "type": "universal_dependencies_multilang", + "languages": ["en", "de", "it", "fr", "pt", "sv"], "alternate": true, - "batch_size": 32, + "instances_per_file": 32, "is_first_pass_for_vocab": true, "lazy": true, "token_indexers": { @@ -90,32 +91,9 @@ } } }, - "train_data_path": { - "de": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-train.conll", - "en": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-train.conll", - "fr": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-train.conll", - "it": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-train.conll", - "pt": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-train.conll", - "sv": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-train.conll" - }, - "validation_data_path": { - "de": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-dev.conll", - "en": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-dev.conll", - "es": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-dev.conll", - "fr": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-dev.conll", - "it": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-dev.conll", - "pt": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-dev.conll", - "sv": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-dev.conll" - }, - "test_data_path": { - "de": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/de/de-universal-test.conll", - "en": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/en/en-univiersal-test.conll", - "es": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/es/es-universal-test.conll", - "fr": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/fr/fr-universal-test.conll", - "it": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/it/it-universal-test.conll", - "pt": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/pt-br/pt-br-universal-test.conll", - "sv": "UNI_DEP_V2_PATH/universal/uni-dep-tb/universal_treebanks_v2.0/std/sv/sv-universal-test.conll" - }, + "train_data_path": std.extVar("TRAIN_PATHNAME"), + "validation_data_path": std.extVar("DEV_PATHNAME"), + "test_data_path": std.extVar("TEST_PATHNAME"), "trainer": { "cuda_device": 0, "num_epochs": 40, @@ -123,9 +101,9 @@ "patience": 10, "validation_metric": "+LAS_AVG" }, - "evaluate_on_test": true, "validation_dataset_reader": { "type": "universal_dependencies_multilang", + "languages": ["en", "es", "de", "it", "fr", "pt", "sv"], "alternate": false, "lazy": true, "token_indexers": { From 8b6094f56dcb3ddc73d0a73a225a59f6ed173281 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 15 Apr 2019 03:12:01 -0400 Subject: [PATCH 07/19] factoring biaffine parser to prevent duplicating code --- .../universal_dependencies_multilang.py | 4 +- allennlp/models/biaffine_dependency_parser.py | 104 ++++++++++-------- .../biaffine_dependency_parser_multilang.py | 77 ++----------- 3 files changed, 69 insertions(+), 116 deletions(-) diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index 6476d01db19..67d29efb9b7 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -23,7 +23,7 @@ def get_file_paths(pathname: str, languages : List[str]): """ Gets a list of all files by the pathname with the given language ids. Filenames are assumed to have the language identifier followed by a dash - as a prefix (e.g. en-train.conll). + as a prefix (e.g. en-universal.conll). Parameters ---------- @@ -104,7 +104,7 @@ def _read_one_file(self, lang: str, file_path: str): with open(file_path, 'r') as conllu_file: logger.info("Reading UD instances for %s language from conllu dataset at: %s", lang, file_path) - for annotation in lazy_parse(conllu_file.read()): + for annotation in lazy_parse(conllu_file.read()): # CoNLLU annotations sometimes add back in words that have been elided # in the original sentence; we remove these, as we're just predicting # dependencies for the original sentence. diff --git a/allennlp/models/biaffine_dependency_parser.py b/allennlp/models/biaffine_dependency_parser.py index cdbc48d1f97..f8b399f7409 100644 --- a/allennlp/models/biaffine_dependency_parser.py +++ b/allennlp/models/biaffine_dependency_parser.py @@ -209,6 +209,64 @@ def forward(self, # type: ignore raise ConfigurationError("Model uses a POS embedding, but no POS tags were passed.") mask = get_text_field_mask(words) + + predicted_heads, predicted_head_tags, arc_nll, tag_nll = self._parse( + embedded_text_input, mask, head_tags, head_indices) + + loss = arc_nll + tag_nll + + if head_indices is not None and head_tags is not None: + evaluation_mask = self._get_mask_for_eval(mask, pos_tags) + # We calculate attatchment scores for the whole sentence + # but excluding the symbolic ROOT token at the start, + # which is why we start from the second element in the sequence. + self._attachment_scores(predicted_heads[:, 1:], + predicted_head_tags[:, 1:], + head_indices[:, 1:], + head_tags[:, 1:], + evaluation_mask) + + output_dict = { + "heads": predicted_heads, + "head_tags": predicted_head_tags, + "arc_loss": arc_nll, + "tag_loss": tag_nll, + "loss": loss, + "mask": mask, + "words": [meta["words"] for meta in metadata], + "pos": [meta["pos"] for meta in metadata] + } + + return output_dict + + @overrides + def decode(self, output_dict: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]: + + head_tags = output_dict.pop("head_tags").cpu().detach().numpy() + heads = output_dict.pop("heads").cpu().detach().numpy() + mask = output_dict.pop("mask") + lengths = get_lengths_from_binary_sequence_mask(mask) + head_tag_labels = [] + head_indices = [] + for instance_heads, instance_tags, length in zip(heads, head_tags, lengths): + instance_heads = list(instance_heads[1:length]) + instance_tags = instance_tags[1:length] + labels = [self.vocab.get_token_from_index(label, "head_tags") + for label in instance_tags] + head_tag_labels.append(labels) + head_indices.append(instance_heads) + + output_dict["predicted_dependencies"] = head_tag_labels + output_dict["predicted_heads"] = head_indices + return output_dict + + def _parse(self, + embedded_text_input: torch.Tensor, + mask: torch.LongTensor, + head_tags: torch.LongTensor = None, + head_indices: torch.LongTensor = None + ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: + embedded_text_input = self._input_dropout(embedded_text_input) encoded_text = self.encoder(embedded_text_input, mask) @@ -258,17 +316,6 @@ def forward(self, # type: ignore head_indices=head_indices, head_tags=head_tags, mask=mask) - loss = arc_nll + tag_nll - - evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) - # We calculate attatchment scores for the whole sentence - # but excluding the symbolic ROOT token at the start, - # which is why we start from the second element in the sequence. - self._attachment_scores(predicted_heads[:, 1:], - predicted_head_tags[:, 1:], - head_indices[:, 1:], - head_tags[:, 1:], - evaluation_mask) else: arc_nll, tag_nll = self._construct_loss(head_tag_representation=head_tag_representation, child_tag_representation=child_tag_representation, @@ -276,41 +323,8 @@ def forward(self, # type: ignore head_indices=predicted_heads.long(), head_tags=predicted_head_tags.long(), mask=mask) - loss = arc_nll + tag_nll - - output_dict = { - "heads": predicted_heads, - "head_tags": predicted_head_tags, - "arc_loss": arc_nll, - "tag_loss": tag_nll, - "loss": loss, - "mask": mask, - "words": [meta["words"] for meta in metadata], - "pos": [meta["pos"] for meta in metadata] - } - return output_dict - - @overrides - def decode(self, output_dict: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor]: - - head_tags = output_dict.pop("head_tags").cpu().detach().numpy() - heads = output_dict.pop("heads").cpu().detach().numpy() - mask = output_dict.pop("mask") - lengths = get_lengths_from_binary_sequence_mask(mask) - head_tag_labels = [] - head_indices = [] - for instance_heads, instance_tags, length in zip(heads, head_tags, lengths): - instance_heads = list(instance_heads[1:length]) - instance_tags = instance_tags[1:length] - labels = [self.vocab.get_token_from_index(label, "head_tags") - for label in instance_tags] - head_tag_labels.append(labels) - head_indices.append(instance_heads) - - output_dict["predicted_dependencies"] = head_tag_labels - output_dict["predicted_heads"] = head_indices - return output_dict + return predicted_heads, predicted_head_tags, arc_nll, tag_nll def _construct_loss(self, head_tag_representation: torch.Tensor, diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index 6525b19a132..b924efb951b 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -111,7 +111,7 @@ def forward( # pylint: disable=arguments-differ """ Embedding each language by the corresponding parameters for - ``TextFieldEmbedder``. Batches contain only samples from a + ``TextFieldEmbedder``. Batches should contain only samples from a single language. Parameters @@ -161,8 +161,7 @@ def forward( """ if 'lang' not in metadata[0]: raise ConfigurationError("metadata is missing 'lang' key.\ - For multi lang, use universal_dependencies_multilang dataset_reader." - ) + For multi lang, use universal_dependencies_multilang dataset_reader.") batch_lang = metadata[0]['lang'] for entry in metadata: @@ -170,7 +169,6 @@ def forward( raise ConfigurationError("Two languages in the same batch.") embedded_text_input = self.text_field_embedder(words, lang=batch_lang) - if pos_tags is not None and self._pos_tag_embedding is not None: embedded_pos_tags = self._pos_tag_embedding(pos_tags) embedded_text_input = torch.cat( @@ -180,81 +178,22 @@ def forward( "Model uses a POS embedding, but no POS tags were passed.") mask = get_text_field_mask(words) - embedded_text_input = self._input_dropout(embedded_text_input) - encoded_text = self.encoder(embedded_text_input, mask) - - batch_size, _, encoding_dim = encoded_text.size() - - head_sentinel = self._head_sentinel.expand(batch_size, 1, encoding_dim) - # Concatenate the head sentinel onto the sentence representation. - encoded_text = torch.cat([head_sentinel, encoded_text], 1) - mask = torch.cat([mask.new_ones(batch_size, 1), mask], 1) - if head_indices is not None: - head_indices = torch.cat( - [head_indices.new_zeros(batch_size, 1), head_indices], 1) - if head_tags is not None: - head_tags = torch.cat( - [head_tags.new_zeros(batch_size, 1), head_tags], 1) - float_mask = mask.float() - encoded_text = self._dropout(encoded_text) - # shape (batch_size, sequence_length, arc_representation_dim) - head_arc_representation = self._dropout( - self.head_arc_feedforward(encoded_text)) - child_arc_representation = self._dropout( - self.child_arc_feedforward(encoded_text)) + predicted_heads, predicted_head_tags, arc_nll, tag_nll = self._parse( + embedded_text_input, mask, head_tags, head_indices) - # shape (batch_size, sequence_length, tag_representation_dim) - head_tag_representation = self._dropout( - self.head_tag_feedforward(encoded_text)) - child_tag_representation = self._dropout( - self.child_tag_feedforward(encoded_text)) - # shape (batch_size, sequence_length, sequence_length) - attended_arcs = self.arc_attention(head_arc_representation, - child_arc_representation) + loss = arc_nll + tag_nll - minus_inf = -1e8 - minus_mask = (1 - float_mask) * minus_inf - attended_arcs = attended_arcs + minus_mask.unsqueeze( - 2) + minus_mask.unsqueeze(1) - - if self.training or not self.use_mst_decoding_for_validation: - predicted_heads, predicted_head_tags = self._greedy_decode( - head_tag_representation, child_tag_representation, - attended_arcs, mask) - else: - predicted_heads, predicted_head_tags = self._mst_decode( - head_tag_representation, child_tag_representation, - attended_arcs, mask) if head_indices is not None and head_tags is not None: - - arc_nll, tag_nll = self._construct_loss( - head_tag_representation=head_tag_representation, - child_tag_representation=child_tag_representation, - attended_arcs=attended_arcs, - head_indices=head_indices, - head_tags=head_tags, - mask=mask) - loss = arc_nll + tag_nll - - evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) + evaluation_mask = self._get_mask_for_eval(mask, pos_tags) # We calculate attatchment scores for the whole sentence # but excluding the symbolic ROOT token at the start, # which is why we start from the second element in the sequence. self._attachment_scores[batch_lang](predicted_heads[:, 1:], predicted_head_tags[:, 1:], - head_indices[:, 1:], - head_tags[:, 1:], + head_indices, + head_tags, evaluation_mask) - else: - arc_nll, tag_nll = self._construct_loss( - head_tag_representation=head_tag_representation, - child_tag_representation=child_tag_representation, - attended_arcs=attended_arcs, - head_indices=predicted_heads.long(), - head_tags=predicted_head_tags.long(), - mask=mask) - loss = arc_nll + tag_nll output_dict = { "heads": predicted_heads, From a374561406cffac4fa89ffd93a82bb7c85c8d1f8 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 15 Apr 2019 04:03:45 -0400 Subject: [PATCH 08/19] multilangTokenEmbedder interface --- .../basic_text_field_embedder.py | 11 +++++---- .../elmo_token_embedder_multilang.py | 23 +++++++++++-------- .../modules/token_embedders/token_embedder.py | 8 +++++++ 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py index 0774ad10eb0..785bdb96e73 100644 --- a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py @@ -9,7 +9,7 @@ from allennlp.data import Vocabulary from allennlp.modules.text_field_embedders.text_field_embedder import TextFieldEmbedder from allennlp.modules.time_distributed import TimeDistributed -from allennlp.modules.token_embedders.token_embedder import TokenEmbedder +from allennlp.modules.token_embedders.token_embedder import TokenEmbedder, MultilangTokenEmbedder @TextFieldEmbedder.register("basic") @@ -98,6 +98,9 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], # Note: need to use getattr here so that the pytorch voodoo # with submodules works with multiple GPUs. embedder = getattr(self, 'token_embedder_{}'.format(key)) + identifiers = {} + if isinstance(embedder, MultilangTokenEmbedder): + identifiers['lang']=kwargs['lang'] for _ in range(num_wrapping_dims): embedder = TimeDistributed(embedder) # If we pre-specified a mapping explictly, use that. @@ -109,20 +112,20 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], # If `indexer_key` is None, we map it to `None`. tensors = [(text_field_input[indexer_key] if indexer_key is not None else None) for indexer_key in indexer_map] - token_vectors = embedder(*tensors, **kwargs) + token_vectors = embedder(*tensors, **identifiers) elif isinstance(indexer_map, dict): tensors = { name: text_field_input[argument] for name, argument in indexer_map.items() } - token_vectors = embedder(**tensors, **kwargs) + token_vectors = embedder(**tensors, **identifiers) else: raise NotImplementedError else: # otherwise, we assume the mapping between indexers and embedders # is bijective and just use the key directly. tensors = [text_field_input[key]] - token_vectors = embedder(*tensors, **kwargs) + token_vectors = embedder(*tensors, **identifiers) embedded_representations.append(token_vectors) return torch.cat(embedded_representations, dim=-1) diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index 00516d96d07..8aac6f12cd9 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -3,14 +3,15 @@ from allennlp.common.file_utils import cached_path from allennlp.common import Params -from allennlp.modules.token_embedders.token_embedder import TokenEmbedder +from allennlp.common.checks import check_dimensions_match, ConfigurationError +from allennlp.modules.token_embedders.token_embedder import TokenEmbedder, MultilangTokenEmbedder from allennlp.modules.elmo import Elmo from allennlp.modules.time_distributed import TimeDistributed from allennlp.data import Vocabulary @TokenEmbedder.register("elmo_token_embedder_multilang") -class ElmoTokenEmbedderMultiLang(TokenEmbedder): +class ElmoTokenEmbedderMultiLang(MultilangTokenEmbedder): """ Extending ElmoTokenEmbedder for multiple languages. Each language has different weights for the ELMo model and an alignment matrix. @@ -58,14 +59,16 @@ def __init__(self, aligning_files: Dict[str, str] = {}) -> None: super(ElmoTokenEmbedderMultiLang, self).__init__() - assert options_files.keys() == weight_files.keys() - output_dim = -1 + if options_files.keys() != weight_files.keys(): + raise ConfigurationError("Keys for Elmo's options files and weights files don't match") + + output_dim = None for lang in weight_files.keys(): name = 'elmo_%s' % lang elmo = Elmo( options_files[lang], weight_files[lang], - 1, + 1, # num_output_representations do_layer_norm=do_layer_norm, dropout=dropout, requires_grad=requires_grad, @@ -74,9 +77,12 @@ def __init__(self, self.add_module(name, elmo) output_dim_tmp = elmo.get_output_dim() - if output_dim != -1: + if output_dim is not None: # Verify that all ELMo embedders have the same output dimension. - assert output_dim_tmp == output_dim + check_dimensions_match(output_dim_tmp, output_dim, + "%s output dim" % name, + "elmo output dim") + output_dim = output_dim_tmp self.output_dim = output_dim @@ -102,8 +108,7 @@ def __init__(self, def get_output_dim(self): return self.output_dim - def forward( - self, # pylint: disable=arguments-differ + def forward(self, # pylint: disable=arguments-differ inputs: torch.Tensor, lang: str, word_inputs: torch.Tensor = None) -> torch.Tensor: diff --git a/allennlp/modules/token_embedders/token_embedder.py b/allennlp/modules/token_embedders/token_embedder.py index 337854162c1..659b666c790 100644 --- a/allennlp/modules/token_embedders/token_embedder.py +++ b/allennlp/modules/token_embedders/token_embedder.py @@ -24,3 +24,11 @@ def get_output_dim(self) -> int: token. This is `not` the shape of the returned tensor, but the last element of that shape. """ raise NotImplementedError + +class MultilangTokenEmbedder(TokenEmbedder): + """ + A ``TokenEmbedder`` that should get a language identifier and embed the input accordingly + """ + + def forward(self, *inputs, lang: str) -> torch.Tensor: # pylint: disable=arguments-differ + raise NotImplementedError From 3e7ce6d831eb36c4b9efc95fc30c0cf147226f70 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 15 Apr 2019 12:22:20 -0400 Subject: [PATCH 09/19] fix parser factorization and pylint staff --- .../universal_dependencies_multilang.py | 4 +- allennlp/models/biaffine_dependency_parser.py | 22 +++++------ .../biaffine_dependency_parser_multilang.py | 38 +++++++++---------- .../basic_text_field_embedder.py | 2 +- .../elmo_token_embedder_multilang.py | 6 +-- allennlp/tests/common/params_test.py | 3 ++ 6 files changed, 39 insertions(+), 36 deletions(-) diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index 67d29efb9b7..7247142e952 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -19,7 +19,7 @@ logger = logging.getLogger(__name__) # pylint: disable=invalid-name -def get_file_paths(pathname: str, languages : List[str]): +def get_file_paths(pathname: str, languages: List[str]): """ Gets a list of all files by the pathname with the given language ids. Filenames are assumed to have the language identifier followed by a dash @@ -43,7 +43,7 @@ def get_file_paths(pathname: str, languages : List[str]): if lang_id in languages: paths.append((lang_id, file_path)) - if len(paths) == 0: + if not paths: raise ConfigurationError("No dataset files to read") return paths diff --git a/allennlp/models/biaffine_dependency_parser.py b/allennlp/models/biaffine_dependency_parser.py index f8b399f7409..0966d664c7e 100644 --- a/allennlp/models/biaffine_dependency_parser.py +++ b/allennlp/models/biaffine_dependency_parser.py @@ -210,20 +210,20 @@ def forward(self, # type: ignore mask = get_text_field_mask(words) - predicted_heads, predicted_head_tags, arc_nll, tag_nll = self._parse( - embedded_text_input, mask, head_tags, head_indices) + predicted_heads, predicted_head_tags, mask, arc_nll, tag_nll = self._parse( + embedded_text_input, mask, head_tags, head_indices) loss = arc_nll + tag_nll if head_indices is not None and head_tags is not None: - evaluation_mask = self._get_mask_for_eval(mask, pos_tags) + evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) # We calculate attatchment scores for the whole sentence # but excluding the symbolic ROOT token at the start, # which is why we start from the second element in the sequence. self._attachment_scores(predicted_heads[:, 1:], predicted_head_tags[:, 1:], - head_indices[:, 1:], - head_tags[:, 1:], + head_indices, + head_tags, evaluation_mask) output_dict = { @@ -261,11 +261,11 @@ def decode(self, output_dict: Dict[str, torch.Tensor]) -> Dict[str, torch.Tensor return output_dict def _parse(self, - embedded_text_input: torch.Tensor, - mask: torch.LongTensor, - head_tags: torch.LongTensor = None, - head_indices: torch.LongTensor = None - ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: + embedded_text_input: torch.Tensor, + mask: torch.LongTensor, + head_tags: torch.LongTensor = None, + head_indices: torch.LongTensor = None + ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: embedded_text_input = self._input_dropout(embedded_text_input) encoded_text = self.encoder(embedded_text_input, mask) @@ -324,7 +324,7 @@ def _parse(self, head_tags=predicted_head_tags.long(), mask=mask) - return predicted_heads, predicted_head_tags, arc_nll, tag_nll + return predicted_heads, predicted_head_tags, mask, arc_nll, tag_nll def _construct_loss(self, head_tag_representation: torch.Tensor, diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index b924efb951b..b2f9e6c0f02 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -91,10 +91,10 @@ def __init__(self, initializer: InitializerApplicator = InitializerApplicator(), regularizer: Optional[RegularizerApplicator] = None) -> None: super(BiaffineDependencyParserMultiLang, self).__init__( - vocab, text_field_embedder, encoder, tag_representation_dim, - arc_representation_dim, tag_feedforward, arc_feedforward, - pos_tag_embedding, use_mst_decoding_for_validation, dropout, - input_dropout, initializer, regularizer) + vocab, text_field_embedder, encoder, tag_representation_dim, + arc_representation_dim, tag_feedforward, arc_feedforward, + pos_tag_embedding, use_mst_decoding_for_validation, dropout, + input_dropout, initializer, regularizer) self.langs_for_early_stop = langs_for_early_stop @@ -172,20 +172,20 @@ def forward( if pos_tags is not None and self._pos_tag_embedding is not None: embedded_pos_tags = self._pos_tag_embedding(pos_tags) embedded_text_input = torch.cat( - [embedded_text_input, embedded_pos_tags], -1) + [embedded_text_input, embedded_pos_tags], -1) elif self._pos_tag_embedding is not None: raise ConfigurationError( - "Model uses a POS embedding, but no POS tags were passed.") + "Model uses a POS embedding, but no POS tags were passed.") mask = get_text_field_mask(words) - predicted_heads, predicted_head_tags, arc_nll, tag_nll = self._parse( - embedded_text_input, mask, head_tags, head_indices) + predicted_heads, predicted_head_tags, mask, arc_nll, tag_nll = self._parse( + embedded_text_input, mask, head_tags, head_indices) loss = arc_nll + tag_nll if head_indices is not None and head_tags is not None: - evaluation_mask = self._get_mask_for_eval(mask, pos_tags) + evaluation_mask = self._get_mask_for_eval(mask[:, 1:], pos_tags) # We calculate attatchment scores for the whole sentence # but excluding the symbolic ROOT token at the start, # which is why we start from the second element in the sequence. @@ -196,14 +196,14 @@ def forward( evaluation_mask) output_dict = { - "heads": predicted_heads, - "head_tags": predicted_head_tags, - "arc_loss": arc_nll, - "tag_loss": tag_nll, - "loss": loss, - "mask": mask, - "words": [meta["words"] for meta in metadata], - "pos": [meta["pos"] for meta in metadata] + "heads": predicted_heads, + "head_tags": predicted_head_tags, + "arc_loss": arc_nll, + "tag_loss": tag_nll, + "loss": loss, + "mask": mask, + "words": [meta["words"] for meta in metadata], + "pos": [meta["pos"] for meta in metadata] } return output_dict @@ -232,7 +232,7 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: metrics.update(metrics_wlang) metrics.update({ - "UAS_AVG": numpy.mean(all_uas), - "LAS_AVG": numpy.mean(all_las) + "UAS_AVG": numpy.mean(all_uas), + "LAS_AVG": numpy.mean(all_las) }) return metrics diff --git a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py index 785bdb96e73..02457137876 100644 --- a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py @@ -100,7 +100,7 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], embedder = getattr(self, 'token_embedder_{}'.format(key)) identifiers = {} if isinstance(embedder, MultilangTokenEmbedder): - identifiers['lang']=kwargs['lang'] + identifiers['lang'] = kwargs['lang'] for _ in range(num_wrapping_dims): embedder = TimeDistributed(embedder) # If we pre-specified a mapping explictly, use that. diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index 8aac6f12cd9..d338e6cd911 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -109,9 +109,9 @@ def get_output_dim(self): return self.output_dim def forward(self, # pylint: disable=arguments-differ - inputs: torch.Tensor, - lang: str, - word_inputs: torch.Tensor = None) -> torch.Tensor: + inputs: torch.Tensor, + lang: str, + word_inputs: torch.Tensor = None) -> torch.Tensor: """ Parameters ---------- diff --git a/allennlp/tests/common/params_test.py b/allennlp/tests/common/params_test.py index e1a5f1b076c..bfc341b9b69 100644 --- a/allennlp/tests/common/params_test.py +++ b/allennlp/tests/common/params_test.py @@ -209,6 +209,9 @@ def test_known_configs(self): # dependency parser 'PTB_DEPENDENCIES_TRAIN', 'PTB_DEPENDENCIES_VAL', + # multilingual dependency parser + 'TRAIN_PATHNAME', 'DEV_PATHNAME', 'TEST_PATHNAME' + # srl_elmo_5.5B 'SRL_TRAIN_DATA_PATH', 'SRL_VALIDATION_DATA_PATH', From 84de4329ab891f672da5cb0d448fd5bd21793185 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Mon, 15 Apr 2019 12:45:16 -0400 Subject: [PATCH 10/19] more pylint --- .../data/dataset_readers/universal_dependencies_multilang.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index 7247142e952..93aa9ce46a2 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -3,7 +3,6 @@ import itertools import glob import os -from collections import defaultdict import numpy as np from overrides import overrides @@ -122,8 +121,8 @@ def _read_one_file(self, lang: str, file_path: str): yield self.text_to_instance(lang, words, pos_tags, list(zip(tags, heads))) @overrides - def _read(self, pathname: str): - file_paths = get_file_paths(pathname, self._languages) + def _read(self, file_path: str): + file_paths = get_file_paths(file_path, self._languages) if (self._is_first_pass and self._is_first_pass_for_vocab) or (not self._alternate): iterators = [(lang, iter(self._read_one_file(lang, file_path))) \ for (lang, file_path) in file_paths] From c02fac689f0781bc3d280d28a137f3a1927219c4 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Tue, 16 Apr 2019 23:12:41 -0400 Subject: [PATCH 11/19] inspect embedder and fix params_test --- .../biaffine_dependency_parser_multilang.py | 63 +++---------------- .../basic_text_field_embedder.py | 18 +++--- .../elmo_token_embedder_multilang.py | 4 +- .../modules/token_embedders/token_embedder.py | 8 --- allennlp/tests/common/params_test.py | 2 +- 5 files changed, 23 insertions(+), 72 deletions(-) diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index b2f9e6c0f02..d4e517124d6 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -101,67 +101,22 @@ def __init__(self, self._attachment_scores = defaultdict(lambda: AttachmentScores()) @overrides - def forward( - self, # type: ignore - words: Dict[str, torch.LongTensor], - pos_tags: torch.LongTensor, - metadata: List[Dict[str, Any]], - head_tags: torch.LongTensor = None, - head_indices: torch.LongTensor = None) -> Dict[str, torch.Tensor]: + def forward(self, # type: ignore + words: Dict[str, torch.LongTensor], + pos_tags: torch.LongTensor, + metadata: List[Dict[str, Any]], + head_tags: torch.LongTensor = None, + head_indices: torch.LongTensor = None) -> Dict[str, torch.Tensor]: # pylint: disable=arguments-differ """ Embedding each language by the corresponding parameters for ``TextFieldEmbedder``. Batches should contain only samples from a single language. - - Parameters - ---------- - words : Dict[str, torch.LongTensor], required - The output of ``TextField.as_array()``, which should typically be passed directly to a - ``TextFieldEmbedder``. This output is a dictionary mapping keys to ``TokenIndexer`` - tensors. At its most basic, using a ``SingleIdTokenIndexer`` this is: ``{"tokens": - Tensor(batch_size, sequence_length)}``. This dictionary will have the same keys as were used - for the ``TokenIndexers`` when you created the ``TextField`` representing your - sequence. The dictionary is designed to be passed directly to a ``TextFieldEmbedder``, - which knows how to combine different word representations into a single vector per - token in your input. - pos_tags : ``torch.LongTensor``, required. - The output of a ``SequenceLabelField`` containing POS tags. - POS tags are required regardless of whether they are used in the model, - because they are used to filter the evaluation metric to only consider - heads of words which are not punctuation. - metadata : ``List[Dict[str, Any]]``, required. - A dictionary storing metadata for each sample. Should have a - ``lang`` key, identifying the language of each example. - head_tags : torch.LongTensor, optional (default = None) - A torch tensor representing the sequence of integer gold class labels for the arcs - in the dependency parse. Has shape ``(batch_size, sequence_length)``. - head_indices : torch.LongTensor, optional (default = None) - A torch tensor representing the sequence of integer indices denoting the parent of every - word in the dependency parse. Has shape ``(batch_size, sequence_length)``. - - Returns - ------- - An output dictionary consisting of: - loss : ``torch.FloatTensor``, optional - A scalar loss to be optimised. - arc_loss : ``torch.FloatTensor`` - The loss contribution from the unlabeled arcs. - loss : ``torch.FloatTensor``, optional - The loss contribution from predicting the dependency - tags for the gold arcs. - heads : ``torch.FloatTensor`` - The predicted head indices for each word. A tensor - of shape (batch_size, sequence_length). - head_types : ``torch.FloatTensor`` - The predicted head types for each arc. A tensor - of shape (batch_size, sequence_length). - mask : ``torch.LongTensor`` - A mask denoting the padded elements in the batch. + Metadata should have a ``lang`` key. """ if 'lang' not in metadata[0]: - raise ConfigurationError("metadata is missing 'lang' key.\ - For multi lang, use universal_dependencies_multilang dataset_reader.") + raise ConfigurationError("metadata is missing 'lang' key; " + "Use the universal_dependencies_multilang dataset_reader.") batch_lang = metadata[0]['lang'] for entry in metadata: diff --git a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py index 02457137876..31da764eed1 100644 --- a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py @@ -1,5 +1,6 @@ import warnings from typing import Dict, List, Union, Any +import inspect import torch from overrides import overrides @@ -9,7 +10,7 @@ from allennlp.data import Vocabulary from allennlp.modules.text_field_embedders.text_field_embedder import TextFieldEmbedder from allennlp.modules.time_distributed import TimeDistributed -from allennlp.modules.token_embedders.token_embedder import TokenEmbedder, MultilangTokenEmbedder +from allennlp.modules.token_embedders.token_embedder import TokenEmbedder @TextFieldEmbedder.register("basic") @@ -98,9 +99,12 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], # Note: need to use getattr here so that the pytorch voodoo # with submodules works with multiple GPUs. embedder = getattr(self, 'token_embedder_{}'.format(key)) - identifiers = {} - if isinstance(embedder, MultilangTokenEmbedder): - identifiers['lang'] = kwargs['lang'] + fwd_params = inspect.signature(embedder.forward).parameters + fwd_params_values = {} + for param in fwd_params.keys(): + if param in kwargs: + fwd_params_values[param] = kwargs[param] + for _ in range(num_wrapping_dims): embedder = TimeDistributed(embedder) # If we pre-specified a mapping explictly, use that. @@ -112,20 +116,20 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], # If `indexer_key` is None, we map it to `None`. tensors = [(text_field_input[indexer_key] if indexer_key is not None else None) for indexer_key in indexer_map] - token_vectors = embedder(*tensors, **identifiers) + token_vectors = embedder(*tensors, **fwd_params_values) elif isinstance(indexer_map, dict): tensors = { name: text_field_input[argument] for name, argument in indexer_map.items() } - token_vectors = embedder(**tensors, **identifiers) + token_vectors = embedder(**tensors, **fwd_params_values) else: raise NotImplementedError else: # otherwise, we assume the mapping between indexers and embedders # is bijective and just use the key directly. tensors = [text_field_input[key]] - token_vectors = embedder(*tensors, **identifiers) + token_vectors = embedder(*tensors, **fwd_params_values) embedded_representations.append(token_vectors) return torch.cat(embedded_representations, dim=-1) diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index d338e6cd911..e50ac726294 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -4,14 +4,14 @@ from allennlp.common.file_utils import cached_path from allennlp.common import Params from allennlp.common.checks import check_dimensions_match, ConfigurationError -from allennlp.modules.token_embedders.token_embedder import TokenEmbedder, MultilangTokenEmbedder +from allennlp.modules.token_embedders.token_embedder import TokenEmbedder from allennlp.modules.elmo import Elmo from allennlp.modules.time_distributed import TimeDistributed from allennlp.data import Vocabulary @TokenEmbedder.register("elmo_token_embedder_multilang") -class ElmoTokenEmbedderMultiLang(MultilangTokenEmbedder): +class ElmoTokenEmbedderMultiLang(TokenEmbedder): """ Extending ElmoTokenEmbedder for multiple languages. Each language has different weights for the ELMo model and an alignment matrix. diff --git a/allennlp/modules/token_embedders/token_embedder.py b/allennlp/modules/token_embedders/token_embedder.py index 659b666c790..337854162c1 100644 --- a/allennlp/modules/token_embedders/token_embedder.py +++ b/allennlp/modules/token_embedders/token_embedder.py @@ -24,11 +24,3 @@ def get_output_dim(self) -> int: token. This is `not` the shape of the returned tensor, but the last element of that shape. """ raise NotImplementedError - -class MultilangTokenEmbedder(TokenEmbedder): - """ - A ``TokenEmbedder`` that should get a language identifier and embed the input accordingly - """ - - def forward(self, *inputs, lang: str) -> torch.Tensor: # pylint: disable=arguments-differ - raise NotImplementedError diff --git a/allennlp/tests/common/params_test.py b/allennlp/tests/common/params_test.py index bfc341b9b69..d13ab0a461c 100644 --- a/allennlp/tests/common/params_test.py +++ b/allennlp/tests/common/params_test.py @@ -210,7 +210,7 @@ def test_known_configs(self): 'PTB_DEPENDENCIES_TRAIN', 'PTB_DEPENDENCIES_VAL', # multilingual dependency parser - 'TRAIN_PATHNAME', 'DEV_PATHNAME', 'TEST_PATHNAME' + 'TRAIN_PATHNAME', 'DEV_PATHNAME', 'TEST_PATHNAME', # srl_elmo_5.5B 'SRL_TRAIN_DATA_PATH', 'SRL_VALIDATION_DATA_PATH', From b31aeba24c3496fed956f3e4b00261490d981d0f Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Wed, 17 Apr 2019 02:10:22 -0400 Subject: [PATCH 12/19] make mypy happy --- .../universal_dependencies_multilang.py | 4 +- allennlp/data/iterators/same_lang_iterator.py | 3 +- .../biaffine_dependency_parser_multilang.py | 38 ++++++++++--------- .../elmo_token_embedder_multilang.py | 7 ++-- 4 files changed, 29 insertions(+), 23 deletions(-) diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index 93aa9ce46a2..a81cdf05264 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -1,4 +1,4 @@ -from typing import Dict, Tuple, List +from typing import Dict, Tuple, List, Iterator, Any import logging import itertools import glob @@ -97,7 +97,7 @@ def __init__(self, self._instances_per_file = instances_per_file self._is_first_pass = True - self._iterators = None + self._iterators: List[Tuple[str, Iterator[Any]]] = None def _read_one_file(self, lang: str, file_path: str): with open(file_path, 'r') as conllu_file: diff --git a/allennlp/data/iterators/same_lang_iterator.py b/allennlp/data/iterators/same_lang_iterator.py index 4b95b3d2082..eccc3ed66fb 100755 --- a/allennlp/data/iterators/same_lang_iterator.py +++ b/allennlp/data/iterators/same_lang_iterator.py @@ -38,7 +38,8 @@ def _create_batches(self, instances: Iterable[Instance], shuffle: bool) -> Itera excess: Deque[Instance] = deque() # Then break each memory-sized list into batches. for batch_instances in lazy_groups_of(iterator, self._batch_size): - for poss_smaller_batches in self._ensure_batch_is_sufficiently_small(batch_instances, excess): + for poss_smaller_batches in self._ensure_batch_is_sufficiently_small( # type: ignore + batch_instances, excess): batch = Batch(poss_smaller_batches) yield batch if excess: diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index d4e517124d6..5e309dcb66f 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -62,7 +62,7 @@ class BiaffineDependencyParserMultiLang(BiaffineDependencyParser): use_mst_decoding_for_validation : ``bool``, optional (default = True). Whether to use Edmond's algorithm to find the optimal minimum spanning tree during validation. If false, decoding is greedy. - langs_for_early_stop : ``List[str]``, optional, (default = ["en"]) + langs_for_early_stop : ``List[str]``, optional, (default = []) Which languages to include in the averaged metrics (that could be used for early stopping). dropout : ``float``, optional, (default = 0.0) @@ -85,7 +85,7 @@ def __init__(self, arc_feedforward: FeedForward = None, pos_tag_embedding: Embedding = None, use_mst_decoding_for_validation: bool = True, - langs_for_early_stop: List[str] = ["en"], + langs_for_early_stop: List[str] = None, dropout: float = 0.0, input_dropout: float = 0.0, initializer: InitializerApplicator = InitializerApplicator(), @@ -96,9 +96,10 @@ def __init__(self, pos_tag_embedding, use_mst_decoding_for_validation, dropout, input_dropout, initializer, regularizer) - self.langs_for_early_stop = langs_for_early_stop + self._langs_for_early_stop = langs_for_early_stop or [] - self._attachment_scores = defaultdict(lambda: AttachmentScores()) + self._lang_attachment_scores: Dict[ + str, AttachmentScores] = defaultdict(AttachmentScores) @overrides def forward(self, # type: ignore @@ -115,8 +116,9 @@ def forward(self, # type: ignore Metadata should have a ``lang`` key. """ if 'lang' not in metadata[0]: - raise ConfigurationError("metadata is missing 'lang' key; " - "Use the universal_dependencies_multilang dataset_reader.") + raise ConfigurationError( + "metadata is missing 'lang' key; " + "Use the universal_dependencies_multilang dataset_reader.") batch_lang = metadata[0]['lang'] for entry in metadata: @@ -144,11 +146,11 @@ def forward(self, # type: ignore # We calculate attatchment scores for the whole sentence # but excluding the symbolic ROOT token at the start, # which is why we start from the second element in the sequence. - self._attachment_scores[batch_lang](predicted_heads[:, 1:], - predicted_head_tags[:, 1:], - head_indices, - head_tags, - evaluation_mask) + self._lang_attachment_scores[batch_lang](predicted_heads[:, 1:], + predicted_head_tags[:, 1:], + head_indices, + head_tags, + evaluation_mask) output_dict = { "heads": predicted_heads, @@ -168,7 +170,7 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: metrics = {} all_uas = [] all_las = [] - for lang, scores in self._attachment_scores.items(): + for lang, scores in self._lang_attachment_scores.items(): lang_metrics = scores.get_metric(reset) # Add the specific language to the dict key. @@ -180,14 +182,16 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: lang)] = lang_metrics[key] # Include in the average only languages that should count for early stopping. - if lang in self.langs_for_early_stop: + if lang in self._langs_for_early_stop: all_uas.append(metrics_wlang["UAS_{}".format(lang)]) all_las.append(metrics_wlang["LAS_{}".format(lang)]) metrics.update(metrics_wlang) - metrics.update({ - "UAS_AVG": numpy.mean(all_uas), - "LAS_AVG": numpy.mean(all_las) - }) + if self._langs_for_early_stop: + metrics.update({ + "UAS_AVG": numpy.mean(all_uas), + "LAS_AVG": numpy.mean(all_las) + }) + return metrics diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index e50ac726294..4191fcb76d6 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -56,12 +56,13 @@ def __init__(self, projection_dim: int = None, vocab_to_cache: List[str] = None, scalar_mix_parameters: List[float] = None, - aligning_files: Dict[str, str] = {}) -> None: + aligning_files: Dict[str, str] = None) -> None: super(ElmoTokenEmbedderMultiLang, self).__init__() if options_files.keys() != weight_files.keys(): raise ConfigurationError("Keys for Elmo's options files and weights files don't match") + aligning_files = aligning_files or {} output_dim = None for lang in weight_files.keys(): name = 'elmo_%s' % lang @@ -142,8 +143,8 @@ def forward(self, # pylint: disable=arguments-differ # Custom vocab_to_cache logic requires a from_params implementation. @classmethod - def from_params(cls, vocab: Vocabulary, params: Params - ) -> 'ElmoTokenEmbedderMultiLang': # type: ignore + def from_params(cls, vocab: Vocabulary, params: Params # type: ignore + ) -> 'ElmoTokenEmbedderMultiLang': # pylint: disable=arguments-differ options_files = params.pop('options_files') weight_files = params.pop('weight_files') From fc664a53ff4dcfb0d317ab3fbac68b1b839305c7 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Fri, 19 Apr 2019 01:34:49 -0400 Subject: [PATCH 13/19] cr comments and doc --- .../universal_dependencies_multilang.py | 9 ++-- allennlp/data/iterators/__init__.py | 2 +- ..._iterator.py => same_language_iterator.py} | 9 ++-- .../biaffine_dependency_parser_multilang.py | 11 ++-- .../basic_text_field_embedder.py | 14 +++--- .../elmo_token_embedder_multilang.py | 4 +- doc/api/allennlp.data.dataset_readers.rst | 1 + ...aders.universal_dependencies_multilang.rst | 7 +++ doc/api/allennlp.data.iterators.rst | 9 +++- ...s.biaffine_dependency_parser_multilang.rst | 7 +++ doc/api/allennlp.models.rst | 1 + doc/api/allennlp.modules.token_embedders.rst | 7 +++ .../multilang_dependency_parser.jsonnet | 50 ++++++++++--------- 13 files changed, 80 insertions(+), 51 deletions(-) rename allennlp/data/iterators/{same_lang_iterator.py => same_language_iterator.py} (87%) create mode 100644 doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst create mode 100644 doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst diff --git a/allennlp/data/dataset_readers/universal_dependencies_multilang.py b/allennlp/data/dataset_readers/universal_dependencies_multilang.py index a81cdf05264..205f540ad41 100755 --- a/allennlp/data/dataset_readers/universal_dependencies_multilang.py +++ b/allennlp/data/dataset_readers/universal_dependencies_multilang.py @@ -124,17 +124,16 @@ def _read_one_file(self, lang: str, file_path: str): def _read(self, file_path: str): file_paths = get_file_paths(file_path, self._languages) if (self._is_first_pass and self._is_first_pass_for_vocab) or (not self._alternate): - iterators = [(lang, iter(self._read_one_file(lang, file_path))) \ - for (lang, file_path) in file_paths] - _, iterators = zip(*iterators) + iterators = [iter(self._read_one_file(lang, file_path)) + for (lang, file_path) in file_paths] self._is_first_pass = False for inst in itertools.chain(*iterators): yield inst else: if self._iterators is None: - self._iterators = [(lang, iter(self._read_one_file(lang, file_path))) \ - for (lang, file_path) in file_paths] + self._iterators = [(lang, iter(self._read_one_file(lang, file_path))) + for (lang, file_path) in file_paths] num_files = len(file_paths) while True: ind = np.random.randint(num_files) diff --git a/allennlp/data/iterators/__init__.py b/allennlp/data/iterators/__init__.py index 42c254cd3c4..151db9452d7 100644 --- a/allennlp/data/iterators/__init__.py +++ b/allennlp/data/iterators/__init__.py @@ -8,4 +8,4 @@ from allennlp.data.iterators.bucket_iterator import BucketIterator from allennlp.data.iterators.homogeneous_batch_iterator import HomogeneousBatchIterator from allennlp.data.iterators.multiprocess_iterator import MultiprocessIterator -from allennlp.data.iterators.same_lang_iterator import SameLangIterator +from allennlp.data.iterators.same_language_iterator import SameLanguageIterator diff --git a/allennlp/data/iterators/same_lang_iterator.py b/allennlp/data/iterators/same_language_iterator.py similarity index 87% rename from allennlp/data/iterators/same_lang_iterator.py rename to allennlp/data/iterators/same_language_iterator.py index eccc3ed66fb..c777ae73ec9 100755 --- a/allennlp/data/iterators/same_lang_iterator.py +++ b/allennlp/data/iterators/same_language_iterator.py @@ -6,11 +6,12 @@ from allennlp.common.util import lazy_groups_of from allennlp.data.instance import Instance from allennlp.data.iterators.data_iterator import DataIterator +from allennlp.data.iterators.bucket_iterator import BucketIterator from allennlp.data.dataset import Batch logger = logging.getLogger(__name__) # pylint: disable=invalid-name -def split_by_lang(instance_list): +def split_by_language(instance_list): insts_by_lang = defaultdict(lambda: []) for inst in instance_list: inst_lang = inst.fields['metadata'].metadata['lang'] @@ -18,8 +19,8 @@ def split_by_lang(instance_list): return iter(insts_by_lang.values()) -@DataIterator.register("same_lang") -class SameLangIterator(DataIterator): +@DataIterator.register("same_language") +class SameLanguageIterator(BucketIterator): """ Splits batches into batches containing the same language. @@ -32,7 +33,7 @@ def _create_batches(self, instances: Iterable[Instance], shuffle: bool) -> Itera for instance_list in self._memory_sized_lists(instances): if shuffle: random.shuffle(instance_list) - instance_list = split_by_lang(instance_list) + instance_list = split_by_language(instance_list) for same_lang_batch in instance_list: iterator = iter(same_lang_batch) excess: Deque[Instance] = deque() diff --git a/allennlp/models/biaffine_dependency_parser_multilang.py b/allennlp/models/biaffine_dependency_parser_multilang.py index 5e309dcb66f..3c3f75f3c06 100755 --- a/allennlp/models/biaffine_dependency_parser_multilang.py +++ b/allennlp/models/biaffine_dependency_parser_multilang.py @@ -173,20 +173,15 @@ def get_metrics(self, reset: bool = False) -> Dict[str, float]: for lang, scores in self._lang_attachment_scores.items(): lang_metrics = scores.get_metric(reset) - # Add the specific language to the dict key. - metrics_wlang = {} for key in lang_metrics.keys(): # Store only those metrics. if key in ['UAS', 'LAS', 'loss']: - metrics_wlang["{}_{}".format(key, - lang)] = lang_metrics[key] + metrics["{}_{}".format(key, lang)] = lang_metrics[key] # Include in the average only languages that should count for early stopping. if lang in self._langs_for_early_stop: - all_uas.append(metrics_wlang["UAS_{}".format(lang)]) - all_las.append(metrics_wlang["LAS_{}".format(lang)]) - - metrics.update(metrics_wlang) + all_uas.append(metrics["UAS_{}".format(lang)]) + all_las.append(metrics["LAS_{}".format(lang)]) if self._langs_for_early_stop: metrics.update({ diff --git a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py index 31da764eed1..a18f1acf074 100644 --- a/allennlp/modules/text_field_embedders/basic_text_field_embedder.py +++ b/allennlp/modules/text_field_embedders/basic_text_field_embedder.py @@ -99,11 +99,11 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], # Note: need to use getattr here so that the pytorch voodoo # with submodules works with multiple GPUs. embedder = getattr(self, 'token_embedder_{}'.format(key)) - fwd_params = inspect.signature(embedder.forward).parameters - fwd_params_values = {} - for param in fwd_params.keys(): + forward_params = inspect.signature(embedder.forward).parameters + forward_params_values = {} + for param in forward_params.keys(): if param in kwargs: - fwd_params_values[param] = kwargs[param] + forward_params_values[param] = kwargs[param] for _ in range(num_wrapping_dims): embedder = TimeDistributed(embedder) @@ -116,20 +116,20 @@ def forward(self, text_field_input: Dict[str, torch.Tensor], # If `indexer_key` is None, we map it to `None`. tensors = [(text_field_input[indexer_key] if indexer_key is not None else None) for indexer_key in indexer_map] - token_vectors = embedder(*tensors, **fwd_params_values) + token_vectors = embedder(*tensors, **forward_params_values) elif isinstance(indexer_map, dict): tensors = { name: text_field_input[argument] for name, argument in indexer_map.items() } - token_vectors = embedder(**tensors, **fwd_params_values) + token_vectors = embedder(**tensors, **forward_params_values) else: raise NotImplementedError else: # otherwise, we assume the mapping between indexers and embedders # is bijective and just use the key directly. tensors = [text_field_input[key]] - token_vectors = embedder(*tensors, **fwd_params_values) + token_vectors = embedder(*tensors, **forward_params_values) embedded_representations.append(token_vectors) return torch.cat(embedded_representations, dim=-1) diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index 4191fcb76d6..6e2e77880dd 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -57,7 +57,7 @@ def __init__(self, vocab_to_cache: List[str] = None, scalar_mix_parameters: List[float] = None, aligning_files: Dict[str, str] = None) -> None: - super(ElmoTokenEmbedderMultiLang, self).__init__() + super().__init__() if options_files.keys() != weight_files.keys(): raise ConfigurationError("Keys for Elmo's options files and weights files don't match") @@ -69,7 +69,7 @@ def __init__(self, elmo = Elmo( options_files[lang], weight_files[lang], - 1, # num_output_representations + num_output_representations=1, do_layer_norm=do_layer_norm, dropout=dropout, requires_grad=requires_grad, diff --git a/doc/api/allennlp.data.dataset_readers.rst b/doc/api/allennlp.data.dataset_readers.rst index 54fb1d79cae..0c6b9b3249f 100644 --- a/doc/api/allennlp.data.dataset_readers.rst +++ b/doc/api/allennlp.data.dataset_readers.rst @@ -32,6 +32,7 @@ allennlp.data.dataset_readers allennlp.data.dataset_readers.snli allennlp.data.dataset_readers.stanford_sentiment_tree_bank allennlp.data.dataset_readers.universal_dependencies + allennlp.data.dataset_readers.universal_dependencies_multilang allennlp.data.dataset_readers.quora_paraphrase allennlp.data.dataset_readers.copynet_seq2seq allennlp.data.dataset_readers.text_classification_json diff --git a/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst b/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst new file mode 100644 index 00000000000..2f5a9529d9a --- /dev/null +++ b/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst @@ -0,0 +1,7 @@ +allennlp.data.dataset_readers.universal_dependencies_multilang +===================================================== + +.. automodule:: allennlp.data.dataset_readers.universal_dependencies_multilang + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/api/allennlp.data.iterators.rst b/doc/api/allennlp.data.iterators.rst index 04bf04bd840..6d02e0bbf3b 100644 --- a/doc/api/allennlp.data.iterators.rst +++ b/doc/api/allennlp.data.iterators.rst @@ -11,6 +11,7 @@ allennlp.data.iterators * :ref:`BucketIterator` * :ref:`MultiprocessIterator` * :ref:`HomogeneousBatchIterator` +* :ref:`SameLanguageIterator` .. _data-iterator: .. automodule:: allennlp.data.iterators.data_iterator @@ -41,4 +42,10 @@ allennlp.data.iterators :members: :undoc-members: :show-inheritance: - \ No newline at end of file + +.. _same-language-iterator: +.. automodule:: allennlp.data.iterators.same_language_iterator + :members: + :undoc-members: + :show-inheritance: + diff --git a/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst b/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst new file mode 100644 index 00000000000..df7a442ddf6 --- /dev/null +++ b/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst @@ -0,0 +1,7 @@ +allennlp.models.biaffine_dependency_parser_multilang +========================================== + +.. automodule:: allennlp.models.biaffine_dependency_parser_multilang + :members: + :undoc-members: + :show-inheritance: diff --git a/doc/api/allennlp.models.rst b/doc/api/allennlp.models.rst index 8f130822153..031fd1d155f 100644 --- a/doc/api/allennlp.models.rst +++ b/doc/api/allennlp.models.rst @@ -11,6 +11,7 @@ allennlp.models allennlp.models.model allennlp.models.archival allennlp.models.biaffine_dependency_parser + allennlp.models.biaffine_dependency_parser_multilang allennlp.models.biattentive_classification_network allennlp.models.bimpm allennlp.models.basic_classifier diff --git a/doc/api/allennlp.modules.token_embedders.rst b/doc/api/allennlp.modules.token_embedders.rst index 2c9399cfdcc..f364dbcaa16 100644 --- a/doc/api/allennlp.modules.token_embedders.rst +++ b/doc/api/allennlp.modules.token_embedders.rst @@ -11,6 +11,7 @@ allennlp.modules.token_embedders * :ref:`Embedding` * :ref:`TokenCharactersEncoder` * :ref:`ELMoTokenEmbedder` +* :ref:`ElmoTokenEmbedderMultiLang` * :ref:`OpenaiTransformerEmbedder` * :ref:`BertTokenEmbedder` * :ref:`LanguageModelTokenEmbedder` @@ -39,6 +40,12 @@ allennlp.modules.token_embedders :undoc-members: :show-inheritance: +.. _elmo-token-embedder-multilang: +.. automodule:: allennlp.modules.token_embedders.elmo_token_embedder_multilang + :members: + :undoc-members: + :show-inheritance: + .. _openai-transformer-embedder: .. automodule:: allennlp.modules.token_embedders.openai_transformer_embedder :members: diff --git a/training_config/multilang_dependency_parser.jsonnet b/training_config/multilang_dependency_parser.jsonnet index e6396664ff6..3fa442f1dba 100644 --- a/training_config/multilang_dependency_parser.jsonnet +++ b/training_config/multilang_dependency_parser.jsonnet @@ -20,8 +20,9 @@ "use_language_specific_pos": false }, "iterator": { - "type": "same_lang", + "type": "same_language", "batch_size": 32, + "sorting_keys": [["words", "num_tokens"]], "instances_per_epoch": 32000 }, "model": { @@ -54,13 +55,13 @@ "elmo": { "type": "elmo_token_embedder_multilang", "aligning_files": { - "en": "https://www.dropbox.com/s/nufj4pxxgv5838r/en_best_mapping.pth?dl=1", - "es": "https://www.dropbox.com/s/6kqot8ssy66d5u0/es_best_mapping.pth?dl=1", - "fr": "https://www.dropbox.com/s/0zdlanjhajlgflm/fr_best_mapping.pth?dl=1", - "it": "https://www.dropbox.com/s/gg985snnhajhm5i/it_best_mapping.pth?dl=1", - "pt": "https://www.dropbox.com/s/skdfz6zfud24iup/pt_best_mapping.pth?dl=1", - "sv": "https://www.dropbox.com/s/o7v64hciyifvs8k/sv_best_mapping.pth?dl=1", - "de": "https://www.dropbox.com/s/u9cg19o81lpm0h0/de_best_mapping.pth?dl=1" + "en": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/en_best_mapping.pth", + "es": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/es_best_mapping.pth", + "fr": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/fr_best_mapping.pth", + "it": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/it_best_mapping.pth", + "pt": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/pt_best_mapping.pth", + "sv": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/sv_best_mapping.pth", + "de": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/de_best_mapping.pth" }, "do_layer_norm": false, "dropout": 0.3, @@ -70,27 +71,29 @@ -9e10 ], "options_files": { - "en": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", - "es": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", - "fr": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", - "it": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", - "pt": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", - "sv": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1", - "de": "https://www.dropbox.com/s/ypjuzlf7kj957g3/options262.json?dl=1" + "en": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json", + "es": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json", + "fr": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json", + "it": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json", + "pt": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json", + "sv": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json", + "de": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/options262.json" }, "weight_files": { - "en": "https://www.dropbox.com/s/1h62kc1qdcuyy2u/en_weights.hdf5?dl=1", - "es": "https://www.dropbox.com/s/ygfjm7zmufl5gu2/es_weights.hdf5?dl=1", - "fr": "https://www.dropbox.com/s/mm64goxb8wbawhj/fr_weights.hdf5?dl=1", - "it": "https://www.dropbox.com/s/owfou7coi04dyxf/it_weights.hdf5?dl=1", - "pt": "https://www.dropbox.com/s/ul82jsal1khfw5b/pt_weights.hdf5?dl=1", - "sv": "https://www.dropbox.com/s/boptz21zrs4h3nw/sv_weights.hdf5?dl=1", - "de": "https://www.dropbox.com/s/2kbjnvb12htgqk8/de_weights.hdf5?dl=1" + "en": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/en_weights.hdf5", + "es": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/es_weights.hdf5", + "fr": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/fr_weights.hdf5", + "it": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/it_weights.hdf5", + "pt": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/pt_weights.hdf5", + "sv": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/sv_weights.hdf5", + "de": "https://s3-us-west-2.amazonaws.com/allennlp/models/multilingual_elmo/de_weights.hdf5" } } } } }, + // UDTB v2.0 is available at /~https://github.com/ryanmcd/uni-dep-tb + // Set TRAIN_PATHNAME='std/**/*train.conll' "train_data_path": std.extVar("TRAIN_PATHNAME"), "validation_data_path": std.extVar("DEV_PATHNAME"), "test_data_path": std.extVar("TEST_PATHNAME"), @@ -114,7 +117,8 @@ "use_language_specific_pos": false }, "validation_iterator": { - "type": "same_lang", + "type": "same_language", + "sorting_keys": [["words", "num_tokens"]], "batch_size": 32 } } From 1bd162a5393af6f47c540fb1b375802943eadba6 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Fri, 19 Apr 2019 01:43:13 -0400 Subject: [PATCH 14/19] doc --- allennlp/data/iterators/same_language_iterator.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/allennlp/data/iterators/same_language_iterator.py b/allennlp/data/iterators/same_language_iterator.py index c777ae73ec9..732412117fd 100755 --- a/allennlp/data/iterators/same_language_iterator.py +++ b/allennlp/data/iterators/same_language_iterator.py @@ -22,11 +22,11 @@ def split_by_language(instance_list): @DataIterator.register("same_language") class SameLanguageIterator(BucketIterator): """ - Splits batches into batches containing the same language. - Based on the basic iterator. + The language of each instance is determined by looking at the 'lang' value + in the metadata. - It takes the same parameters as :class:`allennlp.data.iterators.DataIterator` + It takes the same parameters as :class:`allennlp.data.iterators.BucketIterator` """ def _create_batches(self, instances: Iterable[Instance], shuffle: bool) -> Iterable[Batch]: # First break the dataset into memory-sized lists: From fc4aac7c994129ce52d2b242607f811cdb23132e Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Fri, 19 Apr 2019 02:04:16 -0400 Subject: [PATCH 15/19] fix doc --- ...lp.data.dataset_readers.universal_dependencies_multilang.rst | 2 +- .../allennlp.models.biaffine_dependency_parser_multilang.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst b/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst index 2f5a9529d9a..064d2cc85b5 100644 --- a/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst +++ b/doc/api/allennlp.data.dataset_readers.universal_dependencies_multilang.rst @@ -1,5 +1,5 @@ allennlp.data.dataset_readers.universal_dependencies_multilang -===================================================== +============================================================== .. automodule:: allennlp.data.dataset_readers.universal_dependencies_multilang :members: diff --git a/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst b/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst index df7a442ddf6..dd4190d44e7 100644 --- a/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst +++ b/doc/api/allennlp.models.biaffine_dependency_parser_multilang.rst @@ -1,5 +1,5 @@ allennlp.models.biaffine_dependency_parser_multilang -========================================== +==================================================== .. automodule:: allennlp.models.biaffine_dependency_parser_multilang :members: From c3dc864316e09b96a36d4162ba4e8a49802661c2 Mon Sep 17 00:00:00 2001 From: TalSchuster Date: Wed, 5 Jun 2019 16:21:38 -0500 Subject: [PATCH 16/19] Multilingual tests (#4) * Added dependencies data for es, fr and it + json configuration for tests * Tests for multilingual UD reader and same-language iterator * Tests for multilingual dependency parser * fixed some of the tests - not final * use not lazy option in the parser test * better doc * test basic text field emb * pylint --- .../elmo_token_embedder_multilang.py | 5 +- ...encies_multilingual_dataset_reader_test.py | 109 ++++++++++++++++++ .../iterators/same_language_iterator_test.py | 23 ++++ .../experiment.json | 98 ++++++++++++++++ .../es-universal.conllu | 26 +++++ .../fr-universal.conllu | 20 ++++ .../it-universal.conllu | 17 +++ .../fixtures/elmo_multilingual/es/align.pth | Bin 0 -> 12598 bytes .../elmo_multilingual/es/options.json | 1 + .../elmo_multilingual/es/weights.hdf5 | Bin 0 -> 450840 bytes .../fixtures/elmo_multilingual/fr/align.pth | Bin 0 -> 12719 bytes .../elmo_multilingual/fr/options.json | 1 + .../elmo_multilingual/fr/weights.hdf5 | Bin 0 -> 450840 bytes .../fixtures/elmo_multilingual/it/align.pth | Bin 0 -> 12671 bytes .../elmo_multilingual/it/options.json | 1 + .../elmo_multilingual/it/weights.hdf5 | Bin 0 -> 450840 bytes ...affine_dependency_parser_multilang_test.py | 15 +++ .../basic_text_field_embedder_test.py | 20 ++++ 18 files changed, 333 insertions(+), 3 deletions(-) create mode 100644 allennlp/tests/data/dataset_readers/universal_dependencies_multilingual_dataset_reader_test.py create mode 100644 allennlp/tests/data/iterators/same_language_iterator_test.py create mode 100644 allennlp/tests/fixtures/biaffine_dependency_parser_multilang/experiment.json create mode 100644 allennlp/tests/fixtures/data/dependencies_multilang/es-universal.conllu create mode 100644 allennlp/tests/fixtures/data/dependencies_multilang/fr-universal.conllu create mode 100644 allennlp/tests/fixtures/data/dependencies_multilang/it-universal.conllu create mode 100644 allennlp/tests/fixtures/elmo_multilingual/es/align.pth create mode 100644 allennlp/tests/fixtures/elmo_multilingual/es/options.json create mode 100644 allennlp/tests/fixtures/elmo_multilingual/es/weights.hdf5 create mode 100644 allennlp/tests/fixtures/elmo_multilingual/fr/align.pth create mode 100644 allennlp/tests/fixtures/elmo_multilingual/fr/options.json create mode 100644 allennlp/tests/fixtures/elmo_multilingual/fr/weights.hdf5 create mode 100644 allennlp/tests/fixtures/elmo_multilingual/it/align.pth create mode 100644 allennlp/tests/fixtures/elmo_multilingual/it/options.json create mode 100644 allennlp/tests/fixtures/elmo_multilingual/it/weights.hdf5 create mode 100644 allennlp/tests/models/biaffine_dependency_parser_multilang_test.py diff --git a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py index 6e2e77880dd..07f4b6e4a52 100755 --- a/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py +++ b/allennlp/modules/token_embedders/elmo_token_embedder_multilang.py @@ -13,9 +13,8 @@ @TokenEmbedder.register("elmo_token_embedder_multilang") class ElmoTokenEmbedderMultiLang(TokenEmbedder): """ - Extending ElmoTokenEmbedder for multiple languages. Each language has - different weights for the ELMo model and an alignment matrix. - Compute a single layer of ELMo representations. + A multilingual ELMo embedder - extending ElmoTokenEmbedder for multiple languages. + Each language has different weights for the ELMo model and an alignment matrix. Parameters ---------- diff --git a/allennlp/tests/data/dataset_readers/universal_dependencies_multilingual_dataset_reader_test.py b/allennlp/tests/data/dataset_readers/universal_dependencies_multilingual_dataset_reader_test.py new file mode 100644 index 00000000000..9ca2a60ca8d --- /dev/null +++ b/allennlp/tests/data/dataset_readers/universal_dependencies_multilingual_dataset_reader_test.py @@ -0,0 +1,109 @@ +# pylint: disable=no-self-use,invalid-name + +from allennlp.data.dataset_readers import UniversalDependenciesMultiLangDatasetReader +from allennlp.common.testing import AllenNlpTestCase + +class TestUniversalDependenciesMultilangDatasetReader(AllenNlpTestCase): + data_path = AllenNlpTestCase.FIXTURES_ROOT / "data" / "dependencies_multilang" / "*" + + def check_two_instances(self, inst1, inst2): + fields1, fields2 = inst1.fields, inst2.fields + assert fields1['metadata'].metadata['lang'] == fields2['metadata'].metadata['lang'] + + lang = fields1['metadata'].metadata['lang'] + if lang == 'fr': + assert fields1['metadata'].metadata['lang'] == 'fr' + assert [t.text for t in fields1["words"].tokens] == ['Ses', 'habitants', 'sont', 'appelés', 'les', + 'Paydrets', + 'et', 'les', 'Paydrètes', ';'] + assert fields1["pos_tags"].labels == ['DET', 'NOUN', 'VERB', 'VERB', 'DET', + 'NOUN', 'CONJ', 'DET', 'NOUN', '.'] + assert fields1["head_tags"].labels == ['poss', 'nsubjpass', 'auxpass', 'ROOT', 'det', 'attr', + 'cc', 'det', 'conj', 'p'] + assert fields1["head_indices"].labels == [2, 4, 4, 0, 6, 4, 6, 9, 6, 4] + + assert fields2['metadata'].metadata['lang'] == 'fr' + assert [t.text for t in fields2["words"].tokens] == ['Cette', 'tour', 'de', 'a', + 'été', 'achevée', 'en', '1962', '.'] + assert fields2["pos_tags"].labels == ['DET', 'NOUN', 'ADP', 'VERB', 'VERB', + 'VERB', 'ADP', 'NUM', '.'] + assert fields2["head_tags"].labels == ['det', 'nsubjpass', 'adpmod', 'aux', 'auxpass', 'ROOT', + 'adpmod', 'adpobj', 'p'] + assert fields2["head_indices"].labels == [2, 6, 2, 6, 6, 0, 6, 7, 6] + + elif lang == 'es': + assert [t.text for t in fields1["words"].tokens] == ['Aclarando', 'hacia', 'todo', 'el', 'mundo', + 'Valderrama', 'Y', 'Eduardo', 'Son', 'La', + 'Misma', 'Persona', '.'] + + assert fields1["pos_tags"].labels == ['VERB', 'ADP', 'DET', 'DET', 'NOUN', 'NOUN', 'CONJ', + 'NOUN', 'NOUN', 'DET', 'ADJ', 'NOUN', '.'] + assert fields1["head_tags"].labels == ['ROOT', 'adpmod', 'det', 'det', 'adpobj', 'nsubj', 'cc', 'conj', + 'xcomp', + 'det', 'amod', 'attr', 'p'] + assert fields1["head_indices"].labels == [0, 1, 5, 5, 2, 9, 6, 6, 1, 12, 12, 9, 1] + + assert [t.text for t in fields2["words"].tokens] == ['Es', 'un', 'bar', 'disfrazado', 'de', + 'restaurante', 'la', 'comida', 'esta', + 'demasiado', 'salada', '.'] + assert fields2["pos_tags"].labels == ['VERB', 'DET', 'NOUN', 'VERB', 'ADP', 'NOUN', + 'DET', 'NOUN', 'VERB', 'PRON', 'ADJ', '.'] + assert fields2["head_tags"].labels == ['ROOT', 'det', 'attr', 'partmod', 'adpmod', 'adpobj', + 'det', 'nsubj', 'parataxis', 'nmod', 'acomp', 'p'] + assert fields2["head_indices"].labels == [0, 3, 1, 3, 4, 5, 8, 9, 1, 11, 9, 1] + + elif lang == 'it': + assert fields1['metadata'].metadata['lang'] == 'it' + assert [t.text for t in fields1["words"].tokens] == ['Inconsueto', 'allarme', 'alla', 'Tate', + 'Gallery', ':'] + assert fields1["pos_tags"].labels == ['ADJ', 'NOUN', 'ADP', 'NOUN', 'NOUN', '.'] + assert fields1["head_tags"].labels == ['amod', 'ROOT', 'adpmod', 'dep', 'adpobj', 'p'] + assert fields1["head_indices"].labels == [2, 0, 2, 5, 3, 2] + + assert fields2['metadata'].metadata['lang'] == 'it' + assert [t.text for t in fields2["words"].tokens] == ['Hamad', 'Butt', 'è', 'morto', 'nel', '1994', + 'a', '32', 'anni', '.'] + assert fields2["pos_tags"].labels == ['NOUN', 'NOUN', 'VERB', 'VERB', 'ADP', + 'NUM', 'ADP', 'NUM', 'NOUN', '.'] + assert fields2["head_tags"].labels == ['dep', 'nsubj', 'aux', 'ROOT', 'adpmod', 'adpobj', + 'adpmod', 'num', 'adpobj', 'p'] + assert fields2["head_indices"].labels == [2, 4, 4, 0, 4, 5, 4, 9, 7, 4] + + return lang + + def test_read_from_files_first_pass_true(self): + reader = UniversalDependenciesMultiLangDatasetReader( + languages=['es', 'fr', 'it'], is_first_pass_for_vocab=True) + instances = list(reader.read(str(self.data_path))) + assert len(instances) == 6 + + processed_langs = [] + + processed_langs.append(self.check_two_instances(instances[0], instances[1])) + processed_langs.append(self.check_two_instances(instances[2], instances[3])) + processed_langs.append(self.check_two_instances(instances[4], instances[5])) + + assert 'es' in processed_langs and 'fr' in processed_langs and 'it' in processed_langs + + def test_read_from_files_first_pass_false(self): + reader = UniversalDependenciesMultiLangDatasetReader(languages=['es', 'fr', 'it'], + is_first_pass_for_vocab=False, + instances_per_file=1, + lazy=True) + coun_es, coun_fr, coun_it = 0, 0, 0 + for instance in reader.read(str(self.data_path)): + lang = instance.fields['metadata'].metadata['lang'] + if lang == 'es': + coun_es += 1 + if coun_es > 2: + break + if lang == 'fr': + coun_fr += 1 + if coun_fr > 2: + break + if lang == 'it': + coun_it += 1 + if coun_it > 2: + break + # Asserting that the reader didn't stop after finishing reading the three files + assert (coun_es > 2 or coun_fr > 2 or coun_it > 2) diff --git a/allennlp/tests/data/iterators/same_language_iterator_test.py b/allennlp/tests/data/iterators/same_language_iterator_test.py new file mode 100644 index 00000000000..ff8a57ef204 --- /dev/null +++ b/allennlp/tests/data/iterators/same_language_iterator_test.py @@ -0,0 +1,23 @@ +# pylint: disable=no-self-use,invalid-name +from allennlp.data.dataset_readers import UniversalDependenciesMultiLangDatasetReader +from allennlp.data.iterators.same_language_iterator import SameLanguageIterator +from allennlp.common.testing import AllenNlpTestCase + +class SameLanguageIteratorTest(AllenNlpTestCase): + data_path = AllenNlpTestCase.FIXTURES_ROOT / "data" / "dependencies_multilang" / "*" + + def test_assert_instances_of_different_languages_are_in_different_batches(self): + reader = UniversalDependenciesMultiLangDatasetReader(languages=['es', 'fr', 'it']) + iterator = SameLanguageIterator(batch_size=2, sorting_keys=[["words", "num_tokens"]]) + instances = list(reader.read(str(self.data_path))) + + batches = list(iterator._create_batches(instances, shuffle=False)) # pylint: disable=W0212 + assert len(batches) == 3 + + for batch in batches: + lang = '' + for instance in batch: + batch_lang = instance.fields['metadata'].metadata['lang'] + if lang == '': + lang = batch_lang + assert lang == batch_lang diff --git a/allennlp/tests/fixtures/biaffine_dependency_parser_multilang/experiment.json b/allennlp/tests/fixtures/biaffine_dependency_parser_multilang/experiment.json new file mode 100644 index 00000000000..e756f9768c6 --- /dev/null +++ b/allennlp/tests/fixtures/biaffine_dependency_parser_multilang/experiment.json @@ -0,0 +1,98 @@ +{ + "dataset_reader": { + "type": "universal_dependencies_multilang", + "languages": ["es", "it", "fr"], + "alternate": false, + "instances_per_file": 32, + "is_first_pass_for_vocab": true, + "token_indexers": { + "elmo": { + "type": "elmo_characters" + } + }, + "use_language_specific_pos": false + }, + "iterator": { + "type": "same_language", + "batch_size": 32, + "sorting_keys": [["words", "num_tokens"]], + "instances_per_epoch": 32 + }, + "model": { + "type": "biaffine_parser_multilang", + "arc_representation_dim": 10, + "dropout": 0.33, + "encoder": { + "type": "lstm", + "bidirectional": true, + "dropout": 0.33, + "hidden_size": 20, + "input_size": 42, + "num_layers": 1 + }, + "langs_for_early_stop": [ + "es", + "it", + "fr" + ], + "pos_tag_embedding": { + "embedding_dim": 10, + "vocab_namespace": "pos" + }, + "tag_representation_dim": 100, + "text_field_embedder": { + "token_embedders": { + "elmo": { + "type": "elmo_token_embedder_multilang", + "aligning_files": { + "es": "allennlp/tests/fixtures/elmo_multilingual/es/align.pth", + "fr": "allennlp/tests/fixtures/elmo_multilingual/fr/align.pth", + "it": "allennlp/tests/fixtures/elmo_multilingual/it/align.pth" + }, + "do_layer_norm": false, + "dropout": 0.3, + "scalar_mix_parameters": [ + -9e10, + 1, + -9e10 + ], + "options_files": { + "es": "allennlp/tests/fixtures/elmo_multilingual/es/options.json", + "fr": "allennlp/tests/fixtures/elmo_multilingual/fr/options.json", + "it": "allennlp/tests/fixtures/elmo_multilingual/it/options.json" + }, + "weight_files": { + "es": "allennlp/tests/fixtures/elmo_multilingual/es/weights.hdf5", + "fr": "allennlp/tests/fixtures/elmo_multilingual/fr/weights.hdf5", + "it": "allennlp/tests/fixtures/elmo_multilingual/it/weights.hdf5" + } + } + } + } + }, + "train_data_path": "allennlp/tests/fixtures/data/dependencies_multilang/*", + "validation_data_path": "allennlp/tests/fixtures/data/dependencies_multilang/*", + "trainer": { + "cuda_device": -1, + "num_epochs": 1, + "optimizer": "adam", + "patience": 1, + "validation_metric": "+LAS_AVG" + }, + "validation_dataset_reader": { + "type": "universal_dependencies_multilang", + "languages": ["es", "it", "fr"], + "alternate": false, + "token_indexers": { + "elmo": { + "type": "elmo_characters" + } + }, + "use_language_specific_pos": false + }, + "validation_iterator": { + "type": "same_language", + "sorting_keys": [["words", "num_tokens"]], + "batch_size": 32 + } +} diff --git a/allennlp/tests/fixtures/data/dependencies_multilang/es-universal.conllu b/allennlp/tests/fixtures/data/dependencies_multilang/es-universal.conllu new file mode 100644 index 00000000000..08107a7bd04 --- /dev/null +++ b/allennlp/tests/fixtures/data/dependencies_multilang/es-universal.conllu @@ -0,0 +1,26 @@ +1 Aclarando _ VERB VERB _ 0 ROOT _ _ +2 hacia _ ADP ADP _ 1 adpmod _ _ +3 todo _ DET DET _ 5 det _ _ +4 el _ DET DET _ 5 det _ _ +5 mundo _ NOUN NOUN _ 2 adpobj _ _ +6 Valderrama _ NOUN PNOUN _ 9 nsubj _ _ +7 Y _ CONJ CONJ _ 6 cc _ _ +8 Eduardo _ NOUN PNOUN _ 6 conj _ _ +9 Son _ NOUN PNOUN _ 1 xcomp _ _ +10 La _ DET DET _ 12 det _ _ +11 Misma _ ADJ ADJ _ 12 amod _ _ +12 Persona _ NOUN NOUN _ 9 attr _ _ +13 . _ . . _ 1 p _ _ + +1 Es _ VERB VERB _ 0 ROOT _ _ +2 un _ DET DET _ 3 det _ _ +3 bar _ NOUN NOUN _ 1 attr _ _ +4 disfrazado _ VERB VERB _ 3 partmod _ _ +5 de _ ADP ADP _ 4 adpmod _ _ +6 restaurante _ NOUN NOUN _ 5 adpobj _ _ +7 la _ DET DET _ 8 det _ _ +8 comida _ NOUN NOUN _ 9 nsubj _ _ +9 esta _ VERB VERB _ 1 parataxis _ _ +10 demasiado _ PRON PRON _ 11 nmod _ _ +11 salada _ ADJ ADJ _ 9 acomp _ _ +12 . _ . . _ 1 p _ _ diff --git a/allennlp/tests/fixtures/data/dependencies_multilang/fr-universal.conllu b/allennlp/tests/fixtures/data/dependencies_multilang/fr-universal.conllu new file mode 100644 index 00000000000..8fee6674ef0 --- /dev/null +++ b/allennlp/tests/fixtures/data/dependencies_multilang/fr-universal.conllu @@ -0,0 +1,20 @@ +1 Ses _ DET DET _ 2 poss _ _ +2 habitants _ NOUN NOUN _ 4 nsubjpass _ _ +3 sont _ VERB AUX _ 4 auxpass _ _ +4 appelés _ VERB VERB _ 0 ROOT _ _ +5 les _ DET DET _ 6 det _ _ +6 Paydrets _ NOUN PNOUN _ 4 attr _ _ +7 et _ CONJ CONJ _ 6 cc _ _ +8 les _ DET DET _ 9 det _ _ +9 Paydrètes _ NOUN PNOUN _ 6 conj _ _ +10 ; _ . . _ 4 p _ _ + +1 Cette _ DET DET _ 2 det _ _ +2 tour _ NOUN NOUN _ 6 nsubjpass _ _ +3 de _ ADP ADP _ 2 adpmod _ _ +4 a _ VERB AUX _ 6 aux _ _ +5 été _ VERB AUX _ 6 auxpass _ _ +6 achevée _ VERB VERB _ 0 ROOT _ _ +7 en _ ADP ADP _ 6 adpmod _ _ +8 1962 _ NUM NUM _ 7 adpobj _ _ +9 . _ . . _ 6 p _ _ diff --git a/allennlp/tests/fixtures/data/dependencies_multilang/it-universal.conllu b/allennlp/tests/fixtures/data/dependencies_multilang/it-universal.conllu new file mode 100644 index 00000000000..2df951ad3cd --- /dev/null +++ b/allennlp/tests/fixtures/data/dependencies_multilang/it-universal.conllu @@ -0,0 +1,17 @@ +1 Inconsueto _ ADJ ADJ _ 2 amod _ _ +2 allarme _ NOUN NOUN _ 0 ROOT _ _ +3 alla _ ADP ADP _ 2 adpmod _ _ +4 Tate _ NOUN PNOUN _ 5 dep _ _ +5 Gallery _ NOUN PNOUN _ 3 adpobj _ _ +6 : _ . . _ 2 p _ _ + +1 Hamad _ NOUN PNOUN _ 2 dep _ _ +2 Butt _ NOUN PNOUN _ 4 nsubj _ _ +3 è _ VERB AUX _ 4 aux _ _ +4 morto _ VERB VERB _ 0 ROOT _ _ +5 nel _ ADP ADP _ 4 adpmod _ _ +6 1994 _ NUM NUM _ 5 adpobj _ _ +7 a _ ADP ADP _ 4 adpmod _ _ +8 32 _ NUM NUM _ 9 num _ _ +9 anni _ NOUN NOUN _ 7 adpobj _ _ +10 . _ . . _ 4 p _ _ diff --git a/allennlp/tests/fixtures/elmo_multilingual/es/align.pth b/allennlp/tests/fixtures/elmo_multilingual/es/align.pth new file mode 100644 index 0000000000000000000000000000000000000000..28654819b63ad49d69596e0827f23d0e0c218d5f GIT binary patch literal 12598 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,vH_jUqF&53UXSVOa+iaL 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 bi7Q|7pAD=EN%TlgTph`Ortl=u!T0|I=J8H? literal 0 HcmV?d00001 diff --git a/allennlp/tests/fixtures/elmo_multilingual/es/options.json b/allennlp/tests/fixtures/elmo_multilingual/es/options.json new file mode 100644 index 00000000000..470403c479a --- /dev/null +++ b/allennlp/tests/fixtures/elmo_multilingual/es/options.json @@ -0,0 +1 @@ +{"bidirectional": true, "char_cnn": {"activation": "relu", "embedding": {"dim": 4}, "filters": [[1, 4], [2, 8], [3, 16], [4, 32], [5, 64]], "max_characters_per_token": 50, "n_characters": 262, "n_highway": 2}, "dropout": 0.1, "lstm": {"cell_clip": 3, "dim": 64, "n_layers": 2, "proj_clip": 3, "projection_dim": 16, "use_skip_connections": true}, "all_clip_norm_val": 10.0, "batch_size": 1, "n_epochs": 1, "n_tokens_vocab": 3, "unroll_steps": 20, "n_negative_samples_batch": 8192} \ No newline at end of file diff --git a/allennlp/tests/fixtures/elmo_multilingual/es/weights.hdf5 b/allennlp/tests/fixtures/elmo_multilingual/es/weights.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..a067604645ee12b0cc4f0e665b6dcf9dcc3b8803 GIT binary patch literal 450840 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≫gu6ZDI#U#=z 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

A8^cem?zjIuY~wD3=^K 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 Gfd2!{?ntx% literal 0 HcmV?d00001 diff --git a/allennlp/tests/fixtures/elmo_multilingual/fr/align.pth b/allennlp/tests/fixtures/elmo_multilingual/fr/align.pth new file mode 100644 index 0000000000000000000000000000000000000000..0dded834fb9c57256ff2723ac91f3cc2c93e680d GIT binary patch literal 12719 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ƕ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%0D0>DSUi$mFq2-|AzCiE$IDFnGw&t!=Jx*5)IrQ zgkNP`KsI?fJeu#wnBDvg-Lq#hwHZif1tv0wJM3XQ`xe${KO)ls7-Q*0==}vaUwRKp zbzR_cjMG?m<#B4zJq)S_fiP5OVLS7_6!Y502kt%Q`s~i>bkunz8*)+rWme|V!5ulw zWT}s6`^=P@w&n3g1yYFmseh37-GbQ_{Q{UHt3myX0u0_hiMLeDSkJ(EeCd{fWit#J z&$45%h~sR%`qMx%=X@Zi?Gs4wmweu_7c<~Y^$v1DC?4~=`e4D1^|*Ps8O1}AmJdoK(ZGvtnQ%R$gS^pdgW!;DNDI@jMPryK zEx*OTd4Db=#a(bJn(j5^mWQx+Zq-tKAxV5YKNw!W9O5bH{DjzB(?QWNktD8uh6}^i zR%%rU9R8%_0BUVw^L)1owK}qAhn%5x?A7%xN})UWhw| zCmjkv;ZP2Ks&0ad@}pE@_!tfa{eTIK4~)eBwLPUS#+;S3#%HpsY|N8%SmoOVH$$v& z*OI5?$x?5yUwjt!aqqLz$LDzWrjJpX_g=8)P(CQpajN)9lszII#tR#+0&!Dolo0FV zsqojsjy4%o6R~8v?{wkA1rx~@+2?r7&7D<<7b4v^ZJ__?RU)%A7Wo%sAx^yz#=?Kl zwTJy-RYEx)6DOb*HcEd~$-(4^M?90pZ~W$~l>eV^74PoDt*8|%%Id2;AXkNFp_+<6 z9`BN8QhhX;t!uAi*#RwfOF#}yJgte50oSRDW&%0z%pc8#co3R>g;aF>Aw7=vFsG7p z>eg{Rn%#2D)D!g>uqy)9>(#+UqyrrfM}zB`AVNP#L-X!&>TJ0Z3jG^V`<4Mavx|iT zt%*$Y&H{Sut1XMtm}PhwvzPJ&(|ab_%{0X#cL!Q!_cR8RUz2RMH60RtO+=qSgA zpMQx5=Y6XWM|q63`-Q@;3gFE#LmKi=fV{(}hF`^!%n;|ZJz5+HccvFW>~kxu4Rb~N zZ{B#~pcuaCOXRP)*$-u{wRA%ti>g;n<3zJc_WPD&FeEyW9$ogZVa>^8`ntau*ZtSR zd5w&LJ!1+kmO*&6bP?Im!Qc&gpJ*!PWAef}+SvSz7NZWN;UJAqO{AZ75euTeqhYEM zS^V<~|8H?1fxU(BU}Qemzx2dvr!VBAKnt)7#o+4ov$V74AL=K*#!J(8!hz8e_~aNv zFU{YMrCw`n(KQhC!dJpA`Oll+xf@ol+y zVc8hgF1bPNKh0$3H16dEwCtkC|2jbSy=HXRQQ&f?S!jKr2G(TV=H3@JI z>P1mh(P19Lm=I)i1a`vLaASB}XwTJ0lEDeO(bjM_2x|-Th3eO^{6rSMDlTLl zA8uez*Ph1}e|D1M^iUc+Q3JI`&Ed&J0Vwe5gP_EA6rOL-99yJAAK!m!J@<pgL>16I6F(Ba##_S;N zS5F0}t+JpX<;;`$;eh{wQ@PCl2Pirq!LItGLo>L!QCEdNyfw4qttnHb9@DbO2@QWD z7u`#Z-e@qwBNO4|#!^`KQ3>m|^nw169W%dKiTT*5!8TlSg=E(eQ120C9al*+U*7M4 z3c;t?@>L11?Hq+~brQtm=qeJYoJr38QAe-cdhm&IjL_Zl&_O4Y)`UMH(jzZm)AEzp zRXl~gGj}CBy-JmR+9ApWE=mT$g*Wh}O$|7?^wLv5xcQvW6rNg~2iQCB$Cp~&=#exH zmOWX`|52I?J*za?@J4IU`STABm2sRW%{L^w&ySZg7(n+9>A>jCFuX9KA95Dzqm7_E z1}gu>ytj>5AoQJ|=yDs)OK#ypcQrORz=JMcBn1I=BiL=P#>!d=GW#c1nM_Eic(4u0YDQ{I5opf#3NuEnK0#~{q$B7F1F2hqJ5xYaiRjV3(c z7}9saxBVRTdGZA-BFxFqe>|usrfj&PE;A=HmToLEWp7TYr+W@vK$G-fFyD3)Ja$^a zh`<<`kdO*G7xU@*?Uf+!EsG*w%R%bBGt+3+4t{N^yaRPE{LHjK%Ir^pTOUNRao7v_ zhui3%R25bd{2}0{0kdz@JjPFbFa0M%@B$ z{8L7)`PacMf)dS28Mr0V2I}4u+3#8+?9LAgyp?U`hn(~HYQH}( z`sG#byB0}&lz%|VKr)v1sIUhtkH9wW?3uelg^rjd!vppgb%;L#ZdK(_;vb1?Jp|dW zB1oE5GkLq8aJz1co3>Mgf0KYakGLG-1N?r?k?K#H&i3VG!9WP-MLqiqCviDB=Znwj z^4^^=a;Ol@h2wFWjR-HnYC4;KA{ft}T7%!Siy$myhpk5KWZ>WYhTFTjeXKm!DT(R9 z?)ews_R?ZZw=6-OGY7%i-V|#EWx@F>=NnnTG5Kvd&%luf&`{h*zrH_0_H)c|fwVMI z+~0+KT{kK;{{d>nU&E&KAqeL(4C*`Yz<=3`;lBtqHt^6aHvL*J=~;Y%(tA@Fy=mtl zzUM9e_Q@r2nN{$Ey#>-U7+SVVk}kPggHAd^Z2Q(Rv{^02=$9_UjURJ(UIz@>{LH<~ z%@r@Glw>L{7)j#|I*YNMn{V-F3H{=!2wM;f9Z6=+&*~VEx#KgaN2D%W-o1`lqZrBj4!*(9spRHX$FGycp4{&9 zQ$7sN+|09B+X5!fW`Xbhne2VvJ8+og{NdkbFmg?Dp#97O6`i0b>tMo0t>ntVM5~GM3!2+!O@@DW^ zG6c%cPJ{7WVOu#XF__Zy1oedk7@7AoK*#?pT`MTdww7msj0^XFPiBH;gdlS>z#fan z6xpY9#K8Pq8cP43%$zsh0mIY#Y>Ue6AS%!XMA~I=stCYbj|^%YI{{~@)q>JR&I$gk z3;r{h$kaIMgTnqi`moRk{$dvm7d?dErpcnRXE3N8>P3qZ4+!~WMRv;Y@uh_$KC!6d z%Vr<3UA_buxSUQ^eeTi>sDwH5-q7X=%B)@XJbb_B7;5)v!?lvfpfVc7FE5v5_x9+q zPwdR8{LH10^zs(Gl4yp>D?L%GVi5H+ma<{Jo3PSrr|m%LN~XO(o_^S51%56^G1oU2 z9|i?uMPLK@oH_`Xz6#?8z1>jj_6O!JSI68(x43TiDX{mJV&|tkCrT&AAt`t@d-C!I zIJMgnE4W_UI>QFcQsByQ5@&#|8yaK2+b zRS)CSq7C;@zIG24cwC0f-4PhBq5<7YuW~o6XSPfAT#5YO?U>#2n>W122HldiNzB5D z_)Y2?zc^!CgG|zXXx^pBFLsUvzG5_Vs>Xvy?=kfAEu zZr=y|XgfMZdmq?OSpX;F&rsW6N9ndS9+$$`9)HV$9D7iNwe;&^o0KWOLPcQ|~~4vi+C;ryNJRbdl%R0jp5P_KWJpaNqCnT$Sjzx!cwyklD*_5_zvF%)dwfhJW*xJ>smU1s8q$HMO5h0y7^fG5S~ z=)Q-8Z3Fy`KNuW*@{@M9s^E$`Sy=HR0j_@Xq#ALbVBn1k9grv@X;Z9NFa2MDlcvKK zm6cdAHwIsXje~OGLS}4aKHeBl!zmud@Z#rm#@mkbpVIgrisXfVSe zF^cosIkzq0m|zhXiEgtdhCJjlg+WG)=Abi*YD)40J2KEEK!@>7ts@r(+&CUsEqS*v z43|CZqerPQYo_0Xt`g<6ZHQw|$&Wz^Pm6VJ*oPsiJJFAHlKnD;Fl&<%`#fU-yg17_ z!yioLb~D#-iliEjNGUSE^X}UIOzb08IWHxlL;5@-6BdLJhD(2eOP`Kt$M~FfN zc2pCxQsN%i>FY4obUW685*(ZxPmOci$wO5JRY%V7-(69sH;#DVreqh4S*gv$MLvWW z{kb44d>U`Y0AuqbpUVGLp=!@(V8`M(+$1N&$}Tl!uRU(&zcU?!2a}?3E`(9ir2(PgT#uYB&?zQsx-=pogJ<1(LND$+6ScF|!k;wI}k74r^ zX?9rS7sl~DL_-sNSuRSB|FD3) zVV|+8U^088vWU0g@oD}**HZFbas*PG62LTG51SU7qUNwM*8Wgni?hmzx>zj~&9)#> zj)YY;+C;?-x-dy62BwNez?^S%j?{5s=10&GXi{~+T1bHjQq7?MM~O`>j>7osH+c)L zs4XwH( zwh~Ix@^GzmCx7?oVYrDk*D;uV3dDa7 zVQ>38j&YPt)|%d;JM6^h^QWQgX{lnM!$ENAuO)ujtPQS*33)Vq9>_(sU<}mby5Wx? zSt-S;`>SHk*QxNbTA#Ttbph5c{}2D;GN{UWebjQUJZbtG4l>t7iL!eQ%8%B9&Fsls zFXAe_vN|93o&5vdPP&YZIbk+C2}AqhT1ei}08fkx$mZ!E0M@J}aY8T9#I*>-#f8{? zstz1adLAz~U55Snd_8KmIY4p89MsGaVLG@yip{`lcxCpTpXxdj?|w3cCvDQOW0ny< zU1!Ryj+SD&UVoz6V=Ljlw-RjpsE%*_#p%))Dg4Oy69E*TfX}&B-qb4YuDe=}h91~} z0@)(0^=@_Mjnf(E&L!x(XaW_?Jq!C!fNowwq+Dks16F)nVtkDKN9eQ?XCj6MAYNp!Sl( zbn?VBY|Axe^6yJ9YpojLz$8%y(%W#}l^JN4(?uQ0W$^2Bz7CY&{{Vf z*f|TIdSwvDy?Siy!Wrzm4|VkM^pAw-HsJ4PvMiro!JR&*(5=*yPTaN=GVi`cladX@ zWZfxlzrP00R=?&=tC+@w4lBZjL_?JA!SPAQw63i{n=KtBI!ldjF zU|k;_BTKVp@a`p);fo*#l5^<VPS+@^;4%gU@x3^JK3lnyJvj=3} zSq4{&{IDrp3a%`w#_;Qde6jd`ttawtf zJCgDeUx8qe9NO1qfO!3X%>KPo+2&dDtap7Ugso45+-c8wk#l#U>6&@qd%Xn~uWExc zvonZc?KAwk)Ean`%-|-+&w79LDp8cE!Dq_iOmm_<;~3S6^p$#Djwhj`{mfF@(;xk{h@zgJ5LGJWJh6{LMaw<{K5W5 zPP|)tRl(iwJ$1c#3S4-Tm_6c4$d=h$F70R!Nxyv)eZ|93so)JB|MHA?F_7b})F@(* z!X0`*O9|6_J88|*0-BatO|8C91~1O16Qi6*lBPX@1)`TY?#MDcD56PDcdF9qo0>r5 zss~1W*aw%3CxFkCk0_yViQKbPMd^{L#4$Gln{x$mbFdaTCzg=8J?Du0_&&h?jc_;d zrLCQQ5Q?tjIw!ZSne_X4(D$j1+;2L}dTsxMC*}sw*-(ZLZ%Q(|0z{Fg(Mb&wcH;)c z46vNlje;+&nSbYE;etRF3~n0)tslqO7Y;XJL3JMF{8EGOCpz$!`)z1yRbvFRICnlOtGGo}c+G1%)Q&VHXo&Z2 zSphj5p-FS+$Ux@2Ev)3@Vem3cpC$)U)BWhkwKn=Qwvu{XZG@!l4ZKh%Pj)*y ziAfTaW-u!s^!B`m&AqR9_8mj;@AfMUJraPdS0GNCGKKg(m8Kq{Is6pMbfO|-2&WZP z`8sC^?t0h&$yZfb$-BGYnQRX3jJOE0k;P;!FN%~*U4nhK8m!D?8MZ*F9A-R^Bq27o z_iPg@K<96w5=?JeJ+XcxJ( z>o4tyzK8Y;YvE)OH^++H4K2fx*nEF8-Mh7fFF!m;j#?-&pV~c%AkM_|rhLpbd5vd9 z%^B598^y$ZCLuc_)7Bg*BK=B{A)^W@O(uP6Va*>+r| zxQpjjZ-_W&mj7DI~1sn)Ae`dnE-`tuzOnzIPAzkiI30VPPqy!db$rMh%4~6O|Zkp z09pM0wHG5!Js|u3ouFCTX?RXI8r-D?*jw$I&}p}X^<7#EUg|vT5_}DwejU_dTOZ^l ztOK*AkJxfpALm3g*~Tpd3{Wn>*4So)>%d*Rcp~vZX_v#1O=uilodTMaDXCu5&Jx(jjBH;3ZOjPlCg#%3mn4`S_m%ajS z=F$fTuf#$Ecc!L4Q(+4aaCf80JUnx@gp95DN~(0^*rR*nL3mJ;5o^vMXG1twnX?W1 znA>H{dYFf$ts5DAD+AWBO$2{aPo`e}Ilo8wA7PGIG8U^P*qJR6yt&5nU{!V$li_g) z#WWJ|zU4)z|L)1U>q+9vT>{LXX(qT|`T)CViY^Jxdjp1D*_f(lNylQ=GcM!iY?*RD zRf|n##QJAKiyG%MnRtg591KO5w@PeM)Otus$VaK6kKjFI%LXnK!)#YW{JFLUgHuE3 zn$5GJArR|XEcNl|qn&LK}5<1yG1S)QdL5H{;D=TmYeN@(9ZOcoT z8fgU?V~HG7;tovKJj0W3{|28--qQR%QE+$lCH(s58akR4kzLosAcbQ_>~^r@3v}r- z!_vvz9`6Qj_u%&QYfeJrh%)BK01-q zmSmFU!m-$38bJ^4h=Py22}JfpHBIWzK$D1l*w7(?&pVDo`Vtqm$9*Ex@aF}(UHVB3 zi*=d8(?+mgA;MP1p^{_8=#l5Y96-BvIasxG&Y~G_(QK5Uqbh7Gvek$+n94}SK-XCVF#6|0@{=jS z$j|0b_d}C?zbu^&R;bf;nTNnNemQjB_oKc!HC*=X9-7R^v;A~dhRwUB0s50T2+u1& z+_y`bbvmNJ7%dP2lX&iJIL{Y%c!{%nUIz2>{N542*uO+d${fQtxr0i67WEyt!P~hK z=!g8D^bM=QDF1sywrXz1EVo0D>XZ-NFPFmv{7D7}Ez#xM1ZJ_|XL99@2y;weDrjCw z2ZJGT_P5pw67o-yaSNNqdVV{K*Hb3J1Xb=n`rHQPn|4^NsC3YXrZE_?RtCg4@p}Fik zYR8K;7Qhtm*sMN!Q~QIn_ER2hB9HBRu%??0%U!72g-*p;IvP1 zP}rx*hV0V)e-Bem%_IELFiP%Z=W{)833jZ!3flfnVaLy8A^It^IZ73Pd!O1iB-N6C zQfXwbCPfRQW8_IKPCxxui$^5%Q5a@99W%9f#S@m%%saUwh=W=aOIF zhRY+odC$*5!@w$ZeNajh{h}bC$vrp&0xY{K?sbpqR`8-YjN zkHT(a7i?NJ32v^f!uJ0j!`W4-Xk|j_$U1ADx`rtxYnXC5&^i+LN1T~4Qg|2%yOe@&$m^K00QHPmY5Otz3{X9B<^je%aUydm=S&+nhfn3ey}|*d2ht_W}U$C3NEuZ zK_9x-?!m{+fjCrloL{3ANDZ}|XyHj=;;0-6o98@%{K`9^vp5u!7I2v$+wVM^Cz8zB z#%e4NS_Uga6EXSOXE0Y$gvztA^z9TGniuyCKmDkMcV!JU#g)qlO30w)EdyMopA1!# z9)oKgz|3c=Z11#m`1^(H9y=$JMnDWFr1K+yJ#&nvD0CL7wj$N-zKW2c8=D5#m+ZulGW6t@a;Wpf3tq{c`-{e}rkM z-66K*Wf>{}P%7cu%C19L* z5N%B};gI4@_;gtn&#zCwIw6*0g2-U_Q9{9^a{BW2dxESx;(1)4lSghD$#as(8CnJhY z;2mcGn|kBWSgV=V**d{1hd~U9y@W1#TZz-?Q*d^9P5S7DX$c8eh^ zbE1tJUieP!epZ3GRWZqY_nmreD8WA~7BTXZjhGez6`CBe4&Be1Fk9a$fW21}=bSf# zIJbkCb8;h=#YjMrM+Rs-iUa0yFzGts#T3PBvA51dqvN$Bc%w3}p(*!67ahbupZQc|)DkQ!W6% z!TB0cIdK|!!a+Ft`71O&lVkiV-awY`WXAVh43<6;WP);zqTb0ME`+t1e_Hk=F5jQR z^=e0X@tfD+Hk;Sb)nkFvQhebu*VhwWCxkB)7o!elqL8mDdY{??&CB<3jALtNYJ@tq zk6DOP%^UD*%ROv1OlD(BPI7!qg!E+(@zj?(?&+u7R}7LZ zw@b+mv056|=Z+)xx54enIDz<8sA40D83Q6r8A-;6F5F(JA_eEaIfu8kdg)YdFTH=u zRr-{h)5QhHAT5!C$Nid2zDzW{I`)Zg(X$$(`~+$1ILE14vJ$g5pQ8gX5y!d}p*r9M zIQ?FLv87*8Y{40PkoXyT2R9KemBQ3U72|RLXwa}#VQr51U`|gobbq}9qg&!g^`{gN zI8#ISbF8lN;l2ETlZvdxuO|Mg`3CU&U_41)ApzmvQX#tODy;a-IX_l^=W=1?_=GMc zs||C};O8h#nW@KYdfJ1=op-scgE%8#J&AccNtkoDRN(odR5c+T9O zyKTsvh}jN+yx=7a%Kr@tFMr{c{UZ>rnMotOveCw^6`XfoB&MenzzMRz-M4SX@i_c5bHGf2J=SQ)WPP^7{Wdzx zgqQQ_sR_}TC3Y5rtV6NIw-xfo<6+n>6{UKENV&}z|D0bZGAH|`B@89x z(frvl(C-_C5urcfZHXKjH7BCvbO{(S3W0*Tt6}}?b(p#0Gcmh1m!0^12DR$rT$`^r zC&uz2GWS+JyfLYT_N0Tfrz94Z@kijbPAYCFe~;MQLMOfcNu(6ZVbnSux-42?$MuWo zGi@sVv#6r4_UwT3n`CL|h#vNq83L@9WzM)ZLhqzT*wIx)d9O;zqvnn9_LCx$bJd!u zvp)cvl0rztpcuQgr5-0r{K4bI1Q&3B2b2tN|bLN+8_LoL$tZ0!d56VENxwF!0@ot!TZCAtyxH;*($D?2JGV5PHL7=4PY8 zUQ^ifHj~cLF~AKQT$%T!D$L&bd9Y*GepvD*4L_WdWcQ40!W^M0_`^s3wpS-m^Vm^z zigCmcmq=*oKMQ*9YapZH4PMUSdhOiVZG2jnRp@+xb#XnAv`2)|+ab(M+iuGFjmDtN zCV_YrN5l!~{bOq+n6pr6J7J$-lhnAkM!p}K{U^bACnVcW=+jt7hJJ0Pt zxvpbyw*&aD+6JO}otXMB0%omIgPt2Z`Rz|GVGlP?b}%?hA4GZ5u6N5w;3I9W7hMBS zYSfrh8=jE5F&=Ne+zd#+^@LYEx}5s{kG(T}$LfvRaK_AJo~4wjWUBDoYpWDZN|6+e zXpo-VDk}2>(;~Scb+&R!@cr)gc*KuQ>EIY9@G1Vs`TI7A}V>& zh3$EyKqIX9U0B>x@<8;3Fld7g*PhV?BXpeDaBm~_FHEGz9*ty;QDSf~%LuPZuHo)3 zoPyOpfc=wCpwZrPO#WDo0WYVsEnC%CuuLbPr+Y`|<{U$_?Q-4 z{zrxVg>zYXR2~)HUBWhJSI{~0UE%cGSpHd%Dcq5@iujPDsBm>PNt#wnH=CKG`}7P_ zwlo*_=J=B@DRaRsC<%Jj&0(hfY7i1rj-BT;NqtBl#2JsG&5b5iZ}ixMjKY*@+F6Hr*jIeFY3lw72k13_X;Q-?TKef!=X50F8kZi1ma&N zvXjSz;P^^}J9H+9c3nVxTg{*Q2FhUJ?pRzR$bh&>kDx8J1vYxvl7wwJ5Vp<}CO@4C zQqzUlAD>C|8qHB}`Y{j>{(==5(hxJ}AW2Sf;1nKOz>-N{$ zZ2c{`XZCX%-yKD)YQ}S==UU)O!z7}bIF(7s$yDkN7QrK>qqw})i>O{m#*g8PFe4|A zZQmfu)tgy!qMHAxWoHL24daC%f*<6BK^EShmw+`dWVlb>b@-vtf~6UTv;CuWKrO(E zifypPtYis}3s=HvVq1)9k>0^qW6z93iqeS z<6sOBf?cCrewSv3&9Kpl_Hy9p1Am%(Y%U&8pyx}cHFLHXWp*ll71 z0sdFu$O0KU^P>qHTrZ7YMY=eTUV@QPih}zM^8_hcl^D{N54l-REaJu-u!(TMNgbZV zvzeir;}Z7Cycuq^YCs25W7@3?S=xO*PnX(8Mi*XlxZ`)WvSRVc%DAxWaQC7v$cp?S zI=yG8?doJ)ale>&ZXQb$`1ikzrgNa};li_JPQi8YRjf&T6|FnIkPG?elC&Z+3)DaBPS>!M@M zD6(Bk)?n7E8SL1G?VR`aCcK>C3Q{Ldf$?w}e6J+%*f5N>d9Feku_LsjP!gNgR1&Sp zld#xjBj|lu&N>fA;drqdV4p0|Lin(hi6E&q|H z6Z2rFs1;`W1hT0~vN+nOfGX>zW9DE6ePweDt4Jgk%=#_J%5^2HmL4R(>mK9Cc5})E z3Ak5B0+QR)X@0Ras_=O%Grr%vJtCR&4!sGhzTd{T{4BA9I}20JP-wLLEihEF7W~fK z3JsU-aPFfx?3H~WeErY|i)H#CU1kGpjHo7SyC0DnkFCNBt4DF0!flycR28-QuLuuh ze49hj#B5 z_)60d@4Hr``@KPQkXeuZTMWrcUoVKY633Z2^O@~=Wss0-gCpBb(YcMG(Afr00tbIGt_@4|cYso_K(vQ#*uLZYLufX9im(j%hFwB0EyXu0yeC1CokmB z!0+^v^v0$oP{(&q_jxZ7x&}zIPj7ah+u|s}z90W+zPlN^)){f8-7PrIK@U^U>9EGT zd)T*Mn%MX;R3K_Jm0PIt58q_#U~OPNJQm@3Y&_d%)Y`W+@Ww%&@A-$ik5Yr&i|2$9 zFLR(^?=Z<1sB(I~G{b^il0<=A1Ivc!e0 z%;DXQ+#SKSFOFyuB0~0~5Wem|D+vBOf_WL_gMjyOUyv8&E;c%YbczjU=B>{8owi^r zgLJUolL)W5pQGlzUm=dZ1skV#uw5-4q{I)=lrgRN_0x0Vj7x_ga4;4Etmos%@BDki z?^&eR>=C?J8X-`Nx8^R@+i<&l6ND`Wspu$k8Z4_OLs+I6x>IKe{ZE4JykP}FS`wUS z_9yTuc4mDm#n63XDwLY;#whcL5VZaR-6Q{kKKXHtu6!YdW6yrZ1=}{m(x+*l)i?@g z*zj(E@*>PXwh}5wci{rvB22j#0@3+mn6!B%F5S{X6F!IFR;T^Kr9(2D8b9liJa0yJ z4Txi4j088PVmFC(a0CBNp4;p?h-pPb!qU{+_}g)x;H5tAqxh!D?JRMGr0s;u^f>|M z@};Cq-->i=3?o(lTe#=fXm<+Sl!m4q-Miu2oa8glCnIv{*apP5cGz zGGA!Rq?=^NorlmR$g7aO(uPUTRpG<#9K7y*5@i(c!uRj*abRIIiNIr2v3(1(&Adr; zbzfs@#v62K9mA$gHD{aaHHe$56V}Bv&5(gmV0IKl742+)N!0mD#IEkA@w0D58eQJu=1svlA4Tq_DH$ z4iFIw5Q=$3v{eI3`o0K~itmvFehcZJ{v`ZstAUkiCUDYEnrcf8lLT3D?mu5${QBb+ z8uDDJr|H$;#&ga)Zi_IN1!=$~x^dh1otJ}|GOp*D*C9(C(O}{NyuEP?=kR6;^FJ`3 z?TC(nv=e^x+Q@BqxY8T_{L=72+A&n>pUj4K{i5@x){(*K>aPhaI1JO@w-qB_d@pL z^qd-4lYSaBngXG>x(t;6s>0^Vn{?E8U93Eq1t%TM$%wjWhtk*Y(e+U}ih`GqmbN{`<2Te0sOj7}rI5(okLTB#SuXh-E_AOO%ehV`v zb_u&YL|E&-GPF2(6SUJ3=**B*`i(^6rGx$`YP$ktMp?5V^D*41=v!pjk!TWTs6zIQ5(^Gri|Tr-hAXc~-VCJ6=|p9V^5`b-GadcPSLLl=E!qCU_q-mis%_ z9P69oFu&*@e9HKUfq^FYF{l=s2mN9H);|b-xA61kEb1v!iEUG^qsE56q;oK25~I){nOA}U_+ z`bj@A8r(^@)mt%>w@2U!?-eceki%f5(P$v^7IsUfLU+{@ywiQ%;gC)#P4;)gF;S;s zVW~b=rN(0dyD0oUwi+JTC*Z}nC)8o|Y`C*c3-)SMlC9sAsmHGe;LrC%3~iS{7X5^; zPT4x_7j1{LJkS3@gc2FNcod_~=A+l%vw*+zsdoNqnAu+q5r)yQ?TRdhT5@>l#S*wB z+fRJ?{@QT!a_X7>9!zsKCd(DN4~fEhp%*?2;CDlV z7UXrz92|9Y6xc;?CPiO(9_)=ooRrFEk~gk^O4(Xi=+wgVm{UP!o)J@9E(v_yka{k8 zi{&kLu0QI zj9t&6T~ZDh{B5s;iQ|7<-tc7%zxRrW*uH_qcpmPb5upohgHcCot1v2MKPntEV9{JK z+5X>ZLGB(~RIVB(28R8DU^8V-CHSS#XGIU{j_|}qW3FJv!~}d9?%@yUd8AiwdB0=zd9_&p2grl9q z;o7|0Akr6)!5umDz{rOr>1sBPo#f1)r4q1ej2eqrR85zOc=6nY1LVGI9()!rz!5P* z)I3G8Cqx0J&F+D&&HA*$u@*goRj~NVAWT}Yl_c11CGGpnn9s&hEZ^z=#U{~<2em8Br=7>MCEDD>wO1kU_5!9iubAjQ5)lk{>9DK*MYve6 zgESrF&xV~6EZI|(yV*Av)_P=MZAJu$NL>Rj!!PvawpSQBZZlpp`$Mi|X)v1Pz+Wrj zu%6m*%dQ6FKEVXciN6EpS7T9moI2_ogkfRt3E1fL2c}!L0-JvnUiC|{4Hya!tWCkp z&Wg^DKaatNbJ?r9G&=UNJ(0T=f{zX}2vuJX{vIKqKPr-(uaJP=OY^}ew_Mo$`YOF7 zA;Gr9nsa4}Md-aU3ONxw>}iaJchXgU@~%Z1K;lg0oUf=?SYX&=Yn|X!^yBi&+;=8ow3u`^q|Ue?&zqm{iTqWI!XK*=Lag}$?CHO~lUevOX*Va2Q}_Jh^ak?fdw2AQ8f8DwSJ$s->}v`G}f4?S7rog?p~c^8I1?B$qR zdkT4Ub|#bB8VP;+iJ&#S9KPIriJH1k;CH_%ta82%v)6Wl+jkjmjgcBN_@0f|SM8!v zrBBJ{K4S(H~ zR`#903N`h)U{V`RTTZG#Xm|}CPDA+k%op{D6?Hit4)t0^uw~UCEE>+DIvPc`| zJOw8`d;p!kO3Yn`-y^kN5Gv-$qT3dA7C2K81ES_p9BaV6F`j|yd1`3uslXlMXIOXW zAGjfL8mmT|(s3!5K||{ta-YSyaVpN($#)P(*2P22idV49D1%&DmxH(eU8BjhrYP#4 zM{Y!fkv*1Ih5W(;4!@m9_TIY=l`mI!xKBcmu;la>T!j>6TX2^yBu`%* zhwmMG@a(g%g4gpdVAdEBY<2%fcOG$LG0#L;?1oJ^>ahvC`AM5D|K4Hg(Q2Hx6&)u7^9dZFo3H4_0@b z!G4zk8Z+cf*=A3={zf&-6wSwrmJE|_NU)DjXRwSb&Ez`YZ7kur_C^4!~{>0`lCgU>!Byro-DJR~-k19^}3 zJ_pr_i6ETkMKTvmgR?R182#%E%IZd-!ESRl<^<0ok2?yshwtL&j~ptzDFwIuXLKGF zgIo7^q4-~WrvAE8&~U+++s*BU6YE8pcS|=hmyrP_u{m7cyR-OYNe7J>Wx}Ta_NF2U z!z48MI=&g_hl68R;e-pS*naXgJo-@#2JcgGZEP0=uU^31ebaG|W;6_$!NRm}!K<-3xFWnC9JJ)IY@fPtk!h|&Nlg#Boaulcw{`L5emAbhtWnrfbOHWq zT;>1Ylek%PD@jGeT!)tMW>|FKCGi|8M8C8wR5kX+H5>a#WoQasKGe?7`Ny);L7yRZ z=m{2d?LlqDB8OrBAa11|h2WeAWcH*JXkBeUUiihLe)$lFBwvQv10FQw##Q0aJOwtq zx130hUyBYdN^H}Pa8^1LgTIE}f_KyiXb?Gy*So_6ZU$QTPt}~`C7gJrRGzuC#9(0E zC5($TVP_M?SVikWusYWTCqFRiYx0S>or}Q|>+Ps*b_T}n2(8RL*AKyOwb|NZ)4;-H zCdNznfe&{9{kseC+O=YOGGIGgd20`&dKaVI+guuCD1n+qwcywqiN}Lw*(^C3uK&o6+GYp%JmV5f>YBnWt(WD#n06u)IY85!w$i}Q16ZO`fMHSV zQM=$dO#1o*oMIv&qx?PoS=$a07sT*>PLjjJk;Qb4oI&~0M@($0(YbK$5jyo7sf5(WLT$Ipz z2v#moxhdZR#ph*%=2R6>`e?}wSV)j)J85qI%pP#kizN+*~xP&qPLV|H}G6MBF5VOn-liPP{tLYsa}#wg1- zP^|eCy*`;%v}<}ZhcGJ8^FN3#SM%`8fG%!Mh^1ZouL^P!YK2LuN!Y;8RrbD5qf$GH z>75XU3BrHsqtRpkeR{F@5nSz@$OTx$ zk*1@G5R&G>{4>r8@4V|HLiwo5(AGWV;D6Z;#_MFs`;TkEA#e=d9oS78ZyqD{r5be2 z<_l!^p$yXUbP1|lQ$PnlXR`d$2l^=gBPl63#k(n8m_qpl)bogkr~FQ?Xnqr(<>E1D z`yKe8I+F7m+(^%wi^JOIBHZKt+m+=zJ(%N!H)!8shA_SW)Zd!Jx{8ymG1i~dFHq)A zy}1J_Y3^YAa1!};E(?QfPlDGdp4+>uK-gE;ES$Of2qpUpzG=IT3J`&rx_atw8Of1pLHTW8{o)JbgN_P?CWji>>H4 zdj(0qBtz(p%ijIKIE#Da_uh88E$$aNR5uIKMAeyY@*&)Qtprg) z1-bV!+}8&;DDs}nCY2uY>+fQ!IgmxKn?10fyl^JZkf_Hk9x2>>{(0LZnusYm(Sn`@ zRd|ptWiM|2gtUPev=%)J*a%8&rH`f@?j!>6nFO#MaM}i#AWhrsBUiWsEF0cI9nqdU-7Com5Z$ei0S=#P`tF ztIDuNcP$4_x-hQeI=x5Cxb7e7=&<(>S$tm`-YLF-c{|f_)7q1`b8Rv9X4cY>a#h%O zXa+1QN`Vz=e2zfh2s^UOQREWuuq%FqDJrjt>lrPsH+2JRG781Hqcq_Ag+p-rh#h?T z^&8Vo9}%fFi{YDG8f@8cn{Iu43O_1&l9lV^NvO33iTx`kE6c0!u{ z@Hj~BW&oO1(EI(F;8pELSm84Z=N_hfe>@0vf&!6ddP7Ww3Y75d)U-BR?(zfx4WF;@ zZLS>gk&ffLvb(@)dopTY>LGQ!f8@BO6IfrCpx^4BgWKdxp^g6(sGOA#<`*8JR--zQ zdL3c?;5ov5JPjRn2Bgx8zqV&7bNkH0slR#!-J0}@Jox$xPb+oPz-fsfuVlsA)~7() zk|QqU_nLkXrp1ex5GF zdT2y-m2qtJsj)C{eLgL-n1T+^4nyR|8`Qll2lU&6pseISu%9G@WxFHs#;Y|fyKfVj zbmbS72v^~(#Ti7cQWM-)@PrwwVo|Frhv%WGa5d)}@N4pKs^B}7n07y=maqs+D#oKH zJ&WTI=77jX~VFFcuc4q{|%@ZaccsJD-Xz-tqj-Bce)d@ahRZZ?7*CrNH5&$SJi zq#l zfm4&`3|AR*zeY);lY;@Dsr&@aIj8Z#<-@qxbrP${Dx+z}gZNR#o>-U15v4$X`0M>lc7|-n5i!nC08&?V(nTK=^{24n1Ret8;wjl+y zRsD|A8y{m$xF?NXD#iuK&&8U(FL0;H5gLO7ew2<2Fk2J%*kZs)1dgw(%OSnehg0 zt+FH)Wu+w0L4xUtZQ;Lnh?-O$Mqj)0X#F&wcy_A@MRj6%zS9CMR`h}dkz4q2Wg={R z=?2CY6S&^<3Sh4M74E1`2BC%$7c7zwbB{en|J{msVBK1FFK{2-V_6FKz8(azIWA=H zTb>iGyb}8z&AE9;_MxZ7NAk0S@5}8B2DK|AnXH&Tr@vZ>b4s+O+G=A_H()z<>BqzF z@4gUWU?_a7E(Elzp?Vd0bVXbQu8Q!*LUs;CH2kS>NeIafyFk`{P~iqf#G;BpF6Qrv zq$Z;IyvHUC1oaj8d4n2ret3%*zkDl5m?q6W7f5qP0laU5=dP@H@B}02I5QYrkLNOH(FnJ2x@-sUd;axSII>iiIY(7m}J*&>23mY3q|epx}rwgc!I z+JwKeVyWZ9LqIk}z_aMbWCeeJ`u;W_ng(jgL-$ZnY$dRKnKt^V&qkr>JQltw1!hOM zV&1q&dy)^_qE=Bjb#xxc{|Te-wtCVp)(>!1xEA$Zr$#3{TmW*>ui(=lRKDowL+c5j zNw48?BDVT77M*g1kuP&G<47((EGk9ORNg;f+(PD>%-L=t2cuL3#@Dt8KdVlMbx9nybriwz%yM$=xEO1Fp^IY`4sypW zMR2A1cThj-1Sd>a!MDX#G?$-o8#IpKY>E|xS*s_bU|be;x{Ua5P9zC1s-XwRyI@c4 zUnm=QkF53nAh;8oPNR0cq=hmP>`R6QhDqe}Jj0jxHe8#o5@eI&d*fKBtONV!r-)0d zehDli^N7R~zMm4ChU-W9V%YR9>TDB9?@cWf7(~yYLzAVr$R`%CVy`)lWTMi0IaB6mWOm(!^v*+T6AkleHzd;4o3FR69%-d70o-1r;WH zZzVT-w>IbVU4`9fybFnAi{b3WHV`>rh_Al#{gT6LghMcgn|;-kQ!Y_tA(_X7`pz{d zx?~>9e>> z|D^cBgttoU$Lc~bTv3cOgGO*~B}Q-yI`m-I_J#QE*bg$>MP2CmjK61nbz%p%{lsIF ze4ydoNWrm~h446Y3hov-bC+9N$@U8&aN1gwPM$0ekt2@cFS!qRWY%e6EWf|}qf&#@ z<%Z$Q;3=FP`kb~5)d(|&zQHNQm+)x%TCl7xfHOQR;f-ep)JW{BEGRdE$xG9ScAgg6 zmj(*l+F#-_tG%#iWiz_Pr3;gXMY$0!o?O|-a9F`JB`t(`(0p|@Zppt2OCorer*SGS za~6lQJh!qd#fI!t?1RDPSWIa06=sjSNB6q@MQh(FOic0tNW>bV7th=YHuVP0#7cBu zodMcgy~u;R`?w-EMYhICx?=t9FnXtOALQv~VcEA8+^W52NW8KQlMJ(^3H;wn(pi$_ zCl;gf&H!R2bb@^=d6q+83s!93&&p=>;J40$_-}h3=!WYYDB(?q3NAHT!DSC<6aWliAy5;Lykq^Bi2COlGr!d^w#r z9_-&4PqwIrliwGwfiDmYa^pmtOn zY>B@^R-e2<9dE@8o{H`ydi%rR>6ArmOkF4wj*;L*hK|xs)oV~*=!{k0dABsr@r0!_ z1RaS=!n<+nE07XpeyPhv@PWGpe1dPb5)J*d+}dp*2Uez=Jh(n{c5>$L}hM_N#pV!b%JxRMY3cE-^bT7PlT80-di({<+DHtK; z28A1=*tr3GJfne(G9OUb2&ls&Jgu!X&V`u>iMDFk@ve)&Mlj z1*0{3%%$ffgs+{;dR?yz#B?JeUaNr|(bd9Z@1BB9yA4*Q-Gy@w6L7dS9}kYohc~=i z)Iw?05}4|s!m5v};BTJ{QN+F!--hf}%FSE5}LF3(y1F5LCm z#;E;jL@9M_EpNmx!C`NT2;&K zBi$}mhR3+0vTXvKo1O^k6$|M_X)WM{#~qHGGUhIu>TxSN`yj0511!r|V9UO$!O7eG zU{JOZVt2IQ$GaoYlnaLOzvhGSLwkBE$eUAcJV5oHm*J{ad~fG@E#{h~gIE;*PJgM0 zXB<^x;jvKC=v*w2cl`;uKOH&C$Ws`)!VD{{m+;;kJvLi38Bdf81#VhnA^heHPTy3Q zR;gJ)`^%5SSV5W0-epbC200T)ll!R6@2ozEm;(Fu3`5)i+fAnv;|m*T@KJuQdA0;E zl!oD#JF5kPKua3ve;RHCCen#ZA5i<;>-cQgh%NLRA|3n0n0#Xp-s5|96XG8T=J!;A z*`qp8?dLfj1(Vprh;i(m*BW>d(+J)HAuy@C9d`H_;%HkdEE(|S($Cp}@y>R#-RQUQ zmnMLOIfb$vY=h#wL38G_D`Q5-l_`H+9hK8%LQO$z8+9f2Pu8mS)WmWFY--8GQxVUEV|E(QLnn_Qnd$~l&vN{=`VAf@@?7}E zJpZ{Q9U2==Nx~Cp#NB#a`^PoH<%L`M?3Vhuar0@yuAzJl+5&FJ(J?e%DI^CsaeMq&C^?rbjoI zsjwenyQq5f1MJ+X!o9v7Q^8&Dg)h5;A!yQN!9Rn;B-AE{l)k7I8X7kX++Ulq$5V9S zvCTKw-F1Zbh*b$Xv=>04`3`hS3qj5{1~p3gOwi3T@aCVZ<1r4_oy&y_R@b1j{~l~r zt`TmKRfC!rip=QhSh`Ja8XNC^3>SG1;poL-c(_>sb}cO?)$2W(Xyhd_Uu6#&xU_(F zg=`>pqx+y_YX?BnM|?VGG52_t7L3B1U%?qPx_L;KAZUYfP2L6F&0(71gTqt zWd9F4xWaZ~cJyDepxFp#XDdL})sb9-r7fOtP-h{tkAi{xB>c3;9UICC_kR93Sh4O@ zxm48&;@4;-n3H=8G%QEr-1!XDljE3uRuKN})WLn)<8g}PFnROnI<*-&uTrn%8w@Y6 zh2T%4VZZbrP=4r*v42Kmp^^`zMHSMjNt*Pp)CEwQX2qVU9fcEi8c>{-0tOxxFi>;= zMNUhyQr>YUbzYw{*&Ii9m`!0T4+RO8#fMu9Km{f_^(MS<$x_28W|hh2{UL3|Xy!gbFz=$H{lo}1)U z2I)tU=kgU;Q?d{{o3%M%Rwwvvk)n@8a#4rx*|(Y9gUe#IxQ%zabYC|>lloi2?p8-U zGhqrQevSlD_v_HwFb$NAHQ9`$r>N7Qg~wY@J7ly~3BP^R!{t-%lLsGpR&eAj*d}%c zJ~{A=mh|N?H0lBBnCDQ>xxMgxdNd4n{K9R|3eZDq812)2p-$x)uAAiz!QUd(QZo*(tM)_j!JE(?zX?K;$3U@19M=EUB7L_Tv9U=9-e$~&qkIRntZW>* zo;!&~5jFVczYy}vCKbN^89{Oq=E0jAf5-vxMrhjj3?948!}<+-_&yw;i+Nydv8CRN+jjWd}oGgd98A4Bbkb?_7VJbZ2`?7+5{K7jbg}p)BJX#HYIv-p1I@Mcjl92bZ4b{vu;Vi^&%fen zPL)Yj&*7$9Y(aj&iEU#JCUl`my?HWy=kayBhf_k`rjlFa8<8@Ag@k`UYR zIO^0GY&`#nj!C`&0g6@R)YEKu^nD-rO&-no{u-)$%7kBLI)qC}F-GvrdAafC#9bnf96oZC zW}mjgOU{N6r@9**FP?&@Wux%ksIlzVn^N5Qaucb%*^Ybqrm|G)hj6jrh;SK~fr_7H z;K%i3xK?RRq+K`S9OWb|wtotn_Nj0YqvW7+YcCncU+V=i8u)yjIc&IX19PV=Li-8& zU_YRW1-B%is!#;`Zw8`u)<#_L!vXrziXhl{BulMC@*!Lq{r{aMS&Jk&Id&2DuRaBR zm(%fBrxyDm8G}=w|!y7kGMI7sRZU<7!ki*v|la*6%x!ImJuhm@AJe{j?omV!b%$Xt4y> zJ1KJkZ@;01(hwBi4Tf`}AL#F;dtmw*-Ww2M1Z#WS;nvq=JpVP3i0fa1>nj?u&t@*y zwlRe&Ui?b`tk8$~|8|14hy&I7e3n*T&Vh&b3?Q|r6T%ac*{~zfo`Fbc>vVYebfl{#>JD}YsX>Ma5_pm%Cn3h51!jBz|Pqvuz9=`n{XzXt_~atGxq<(!ImJD zSLgk`M|VPdq6N1!Q<3kX-xs7NkHGdQ4(-+|Gi}3R`aNM?Wx}kVmBF_MaQCD|f)#~} zxFZFk>>uE)lE06WFct4L0!^=r7rKNpNZk9&q=B2gMuU*2!(KwB#v?(2#nEa%>FjH5uW$I2XLVJAt%G*OBjw#ku)LAIPF%S@_2P`@6P0+|=y>i=K3V zi@ggzUo{$kzG}m>uNe&!=Q+q1P7?EfwybuR4YclQggs-eaG46vyYcYhJu3IXuWvEe z6MX_JJf}kQ2qRXecn?xl9#nRVpTXn4uc_poCD7>?1Jlw%z$lgPMlHAwFP>h5pNdCe z&+8OyRf>c9?gQYy#ax)x@m}!!-7qe#zK7?OjB)*@SimBl343P>8GF-)CAL&jjIxCn zF$ZbK#3%IbLOEv3=hvLjfqhC>X4%jAoprV-`C5?xM}iihm_sR)uZW^fy0d9Zsji^; z%w^hqt_r%WKTz%91#nCk(QnRs!A(Ck+%7(b(_ER2V&fi>l@s@(ys#3v(60`ulN+$C zw;v{^AHqc+rVAg&P%vGs40;*?bk3og3iExPcv8X(-+oTVS#s-fLCz>RzQK{*?;a5B zm}<=Z>`V}J%*ckI#Wf@<_#9Q+90v9C1L3}xKa>w}keshif-`o)#Ag}U^&~_vcW5oG zh*?GRF3Ld5;w-HDABN8R5vw+gxj}aqoFeDO{uh(N@dF~BH1e= zk&LY8zD`C(q=86DC8Vjn={cvmC;cPp{(g%h7OU;TrHVz5p}DuhS0)WLdd=pK-Z-3tF$Q zt^1m|2o-nBu#F|nRN;~Y^*i(t>wH*RS=xz83&Y9v@5x{inu;F|m62H4RD9p@1JuHJ zyyq)t!3L>VTKPE(Qf@df(H*_ynhOsqPPpL(t66NCo*XLWiZM5p(n*)vb^MVjfI2&! zV4vep6273eCLp?(uJ+S~tHw&4^Cg}<_U`9v+Pnk1^`cDTq}MRLL;{L7f5DgXTo+o( zkTum^%Bq}GW94$W*@xN``rnLH2+DcG|L3Agl3WT&(K}sc(0vQ@b^d=$V(J8t_MgkP z<>liSpBUh^mckyIi<*L;@b8Bt96dQmyKVGf!NN@5t7keWv}FN5b@@H$(3{2@rkS#v zHIrd$Zv~FsZ$#BpPcl=r2(8*z!ik`8iI8bh@zx0>|Of{+69i`)Q|qiOP<2?uDDL7JH!zjFoKjR zb-41i4mfK(gJqBS7O-_IEZVEef43(CznrN8{V9sDbl3*lCx>Ffl%*&$;XXa;egSQ& zWFT)|5)`sMaNnNGO$XOd8HF?uH@1Q=OaLBE9YV2l{a8xZ@Q#UCl4nh?VLiu}cxIr+ z$ZBUZXD5e~v8Rim&$N|#nFYfy$7Jx*s32A1`51ivF!~m4V}8v1k8F9}ONyP2@pSSP zaA9^8h(0#v1&&*j+tqO>X3>hRh`>WjWaq52^?qc?>$-^s(zx`Bv$M)B@qQ)bQMHgNc8gpaEi;1v-e_QX~L zyjxd@JKR?A7JrU{b<1uNt*(P`do$swoEext%ZW^je~HC2?&93BBSd(l9cLH{fa_s-XgxR^0@_)8{W%!x z%R2FcM>eVd=Yos9E|5mC8oZTY4=cPQ;QAlVnf9$4b}g*{zfw8o=QYmnIeP~juX~8< z1r=1d_!fwiL_%NtL@1w_N5-2Z84XUw{e0jb&3fel-y(fDpQj4=ACSO;T?m?M<>9uy zK7KEv_$+rT9`RDcD@Ruo`{T0sYU@Ev&g~`P_lt10A@{fQ_Q&2c-Td_%ro+1>+Vsq~i_>#Y!{r>U;&YtLCHB2~5Yl5U8lUN-n=LVMoo*V%Hl%CdiNDYKC9s4|Jx|KZPu~lq7@3q83t= zGKL{-Q<#A;W4Qh`g6f+a*ZD2KfCJo|IIJrg^v4`o%LYsG>dkfB)AE29AG#NaXE@f) zO@(O=d1(9O8!c6DhiL-YJP#jtUeSSQkaTv0me4Ss zOahzUb58PyxR~QV_ZnWH7r(2*f=`RsDNY$M(WU_suD9d9B_X)@<^@zy;Ib9m9d_4; zcyO;GU|r}2QG?ð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�uTk3y;WzKtYpdKIy^`9wdo%Cc4F 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

l?pIbMHFKwf)!U)FGn?bKo zl(pEn9g43ekptg;5Sgl@7%*Lk`SG9=BrVQjuw4;GCT#=%k9#3~ge*EYzkyll;%vIP z3^UwW2d~=hVo;|Pn-?R(_DxWPVwL}V8a8-(REp8>=H=g6wZI2=Nj0~eU=*->c zv*|Q%8}QoIg*_&k=;3aPYGZHUw4x@w+CKv5l7KHMK)*hC#ti8$CS@4 z0X+>_CeQRScoc2Hz(7SP)=NhfZB9cawGPegzv0t+A=vq45CVKFVE&wPu+Y9wyE>iG z-?a=1I&Q;5`)-`?tIluPRY>$TYp`a76EqD>M4_MWu+!xL&6uRX4%Rea-w|gzM}0ih zBucS9*kK( zbdDYk)8zfZcV`Zr8ut#j#Mi(^4T}CFOhJkBjt@K`3teZ%L67@6^sinHMk9D^@U?#G z8#W*GzAZyFsRW$Ze*%2QKZM!!Z;>wUge51HSeeoRC~*70@k8H3^NlK;c&iO++Aong zE9&V>oqM3RObRW$%E9#OPHZ~NK#IEvtK_g5H%7K&cfJy%ZiT3)D}dbAawOVPSwE0Ksu zh50|k3D3X1I8yKlI)fEylhp=nQ{ypb3!cNrV{&+U`!eXvo(p|dAE8NG59;{`p;k(X zRa-s>6vk-aX}p2)c8|gEWD4bdOytK77nY2(6Oc(T*Z|@VbBv2P@D}cOa+PK$4TkWV&b}`g!p)Eg;KvZ6wOGa z1^eZgoCOx-)Z$CH{Gd1+@;e*D!=%}LeQv05UJ){D24IV205QLk4?kvngMxcqaAUPB z+p%#9l6i*M?Dq^m&Aosh+ohNlH*Vs3U4O8y9VRcm(=mR$7?Y_p8)`;zo(fa{K;n;X zfmZMky(@eL6PspJp^gZwZ#+m(ZK{T|>)%3n`$e32MG13`9S2??5eSQ&g4i|6jQH6n z(79WN?T(iQGrd$SRoejuKJjpM1?M@nZ4Z>yabB3W^2o^79x(BX9$e`;hcyzVs5(uS zo#iRS2ELO8>Jx*a@sIGZ#~(BvqX0sWqi|w{KX_?ggf=c#*%B5HgF3OGU3MG4T6{rq zX-oX+7>qxDCXmuI2Bd3UEbLQ$3_OdR5;IXd(E7-&TbyQ*-8p5ZJBf?+A~iwF?;@<2 zHxeEu^Ki$92m4kZA=F)(nbY%}(yk%sSUwv`{Wj>`pbSmJy~|o_ztF_UkEKAvg$zk)Jt#c751j7Yk}mE1;rUn(5$g!UDI|Xqa*k={;e_;ExR` z8pk_+Lwf7ipqBax{DHR6MP!(Jk}NhnxrkcjN9kpYv%q^cwPf$_7Od90h@zR(ao^s} zIH$%Ip84E`;Vv!)yyS#hViCm9_AI9dcpt^a6=D;&cTw?ufQvcJSY|;CI<8}2lDG`} z=65};x$+JRyxVB~ox>Px$@#83$iZld6JUH`E1VH1up^%xLE{{AIJFm{BsB}>@O

=|zKhVeVGZV&Hi6w=hG1PD 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�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 ^ZgB2HfChD4Fc*ynu@7+7hK5E3_{ebT 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ź?<|X)G z-pCFXccHu3NA$h%M5uev8d}L?GU>1<=>2q{%Uvz8)OMshp4c+e`Ucc@cNe4#9TGJ}AC7 zm2OU42I%1r*A*?0oBft?PNKNEq7!@i{iy4!7F;@W1kH^&gcs^;aQBV{q%}|rRZKG= zX9>T@ww{Sg)*WR&uTS=eURZZyqUtgJ)Y{`wH@Ip*b)ode<@K}!jMZP6#PWEBK#o64=6It;2#bmnkwm;cv zcNT-(Jm`;!N|b;2S$fE7Ht@q5m0dDHBgq>39SX?dm3D&j{2X=T_i)|?8i(`GZ-z?v zOS1py4a`zWkxS_ktIrBFFK8}8hEfcF-R z;C;;+n27@V_JtNGy(uLviP6{|97~i9bz$b8@tD2n2?lyKf#ybg*s)lX^cBCuJJUQOC&X{A+L>eu77mo*|v6UAsLB8EyP;wHX%(W1Ai+%*BFWzib%No)< z#JfN5+$BARd$G9fJWiL6ASoS#@4A>gS_zFjSgu^pi#Dn+j;_u$in@Dj-+f zOYyeyc)G6r5?lA~6o&LCvgQZRA#C+TF5^KPUXHs1Q~Cc-wWt=nDPBW^6+V*`b0-ip zN`;V$4q<=#MJTeYfi<<^tZhvKDmsgDbgd*e(u9Yg{dW+x54z#PJ>BT1Kbq@ZlL>NP zV$%3zt3#akd_iu1>wimho_W`PkM&Q*c zRf6kRbjdg0-E2*N0vX!y6c$^y2+zEa$Etm9?3v+C$PmuJU1H6|>r{ha>b)T>sCN#<#&K7By76*TD2X|7fT>L$feDA_!Xp=iL7z!rx z`8p)C{}xnl>jKpuQ|bJwI@l6vNZWif$&$c2NbeFw&%a|C8M**>wT^??4F}Z7)S?0I z#{p6#>A^2*T=cIac(Le*P|<3b9S+i>@0WVQfyVydq-eVFzFa`g6r32CY?3NnKU{;r=z^&`Ca9>$5 zR(kB_cPTH3%kMsXYciIahDhLhF=MQ7-3?`@HMp03(ae6yal!Sp)fkp^mpGb4G4Vr1 zq+v}}?WR#;sK3qw#NOKA+!htiPV5WLQ#u04qdHjA8$~SHtj?WUy&H|km_hi&NV4;I zDcEgS0lUpdggy#d+_i1p7#24Yj=e93d2#8y8!V6oeX0^jO>m(n*)5dNSk5)%EP_*V zU2NyiR!G{P4Wh{+aG{_TuWvKN|K>je=^%X!ukR#LwmtA-&O>ltb{yQAB&eICguwSk zj=+7_Ta