def command_bilingual_lexicon(args_):
     if args_.random_pair_per_synset:
         lexicon = bilingual_lexicon.random_pair_per_synset_bilingual_lexicon(
         )
     else:
         lexicon = bilingual_lexicon.bilingual_lexicon()
     for lemma_name_spa, lemma_name_por in lexicon:
         print("{} {}".format(lemma_name_spa, lemma_name_por))
    def command_linear_trans(args_):
        model_es = word_vectors.load_model(args_.model_es_file_name)
        model_pt = word_vectors.load_model(args_.model_pt_file_name)

        if args_.random_pair_per_synset:
            lexicon = bilingual_lexicon.random_pair_per_synset_bilingual_lexicon(
            )
        elif args_.most_frequent:
            lexicon = bilingual_lexicon.most_frequent_bilingual_lexicon_based_on_external_count(
                model_es.vocab, model_pt.vocab)
        else:
            lexicon = bilingual_lexicon.bilingual_lexicon()

        X, Y = zip(*word_vectors.bilingual_lexicon_vectors(
            model_es, model_pt, bilingual_lexicon=lexicon))
        T = linear_trans.linear_transformation(X, Y, args_.backwards)
        linear_trans.save_linear_transformation(
            args_.translation_matrix_file_name, T)
 def command_bilingual_lexicon(_args):
     for lemma_name_spa, lemma_name_por in bilingual_lexicon.bilingual_lexicon():
         print("{} {}".format(lemma_name_spa, lemma_name_por))
def bilingual_lexicon_vectors(model_es, model_pt):
    return ((model_es[word_es], model_pt[word_pt])
            for word_es, word_pt in bilingual_lexicon()
            if word_es in model_es.vocab and word_pt in model_pt.vocab)