def get_alignment_model(config, node_embedder): """Create a new AlignmentModel Args: config (Config): the root config node_embedder (NodeEmbedder) Returns: AlignmentModel """ cm = config.model cmu = cm.utterance_embedder #glove_embeddings = GloveEmbeddings(cmu.vocab_size, cmu.glove_dim) #token_embedder = TokenEmbedder(glove_embeddings, trainable=cmu.trainable) phrase_embedder = node_embedder.utterance_embedder token_embedder = phrase_embedder.token_embedder node_filter = get_node_filter(cm.node_filter) model = AlignmentModel(phrase_embedder, token_embedder, cmu.max_words, node_filter, cm.top_k, dropout=cm.dropout, ablate_text=cm.ablate_text, ablate_attrs=cm.ablate_attrs, use_neighbors=cm.use_neighbors, use_tags=cm.use_tags) return model
def get_encoding_model(config, node_embedder): """Create a new EncodingModel Args: config (Config): the root config node_embedder (NodeEmbedder) Returns: EncodingModel """ phrase_embedder = node_embedder.utterance_embedder node_filter = get_node_filter(config.model.node_filter) model = EncodingModel(phrase_embedder, node_embedder, node_filter, config.model.top_k, use_neighbors=config.model.use_neighbors, dropout=config.model.dropout) return model
def get_alignment_model(config, node_embedder): """Create a new AlignmentModel Args: config (Config): the root config node_embedder (NodeEmbedder) Returns: AlignmentModel """ cm = config.model cmu = cm.utterance_embedder phrase_embedder = node_embedder.utterance_embedder token_embedder = phrase_embedder.token_embedder node_filter = get_node_filter(cm.node_filter) model = AlignmentModel(phrase_embedder, token_embedder, cmu.max_words, node_filter, cm.top_k, dropout=cm.dropout, ablate_text=cm.ablate_text, ablate_attrs=cm.ablate_attrs, use_neighbors=cm.use_neighbors, use_tags=cm.use_tags) return model