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)