def get_word2vec(lang: str = "en"): # Download. urls = { "en": "https://s3.amazonaws.com/dl4j-distribution/GoogleNews-vectors-negative300.bin.gz", "ja": "http://public.shiroyagi.s3.amazonaws.com/latest-ja-word2vec-gensim-model.zip" } path = download.cached_download(urls[lang]) path = Path(path) filename = "word2vec.gensim.model" print("Loading model...") if lang == "ja": dirpath = Path(download.get_cache_directory(str(Path("word2vec")))) download.cached_unzip(path, dirpath / lang) model_path = dirpath / lang / filename model = gensim.models.Word2Vec.load(str(model_path)) if lang == "en": dirpath = Path(download.get_cache_directory(str(Path("word2vec") / "en"))) model_path = dirpath / filename download.cached_decompress_gzip(path, model_path) model = gensim.models.KeyedVectors.load_word2vec_format(str(model_path), binary=True) return model
def get_fasttext(lang: str = "en"): # Download. urls = { "en": "https://dl.fbaipublicfiles.com/fasttext/vectors-wiki/wiki.simple.zip", "ja": "https://dl.fbaipublicfiles.com/fasttext/vectors-wiki/wiki.ja.zip", "fr": "https://dl.fbaipublicfiles.com/fasttext/vectors-wiki/wiki.fr.zip", } path = download.cached_download(urls[lang]) path = Path(path) dirpath = path.parent / 'fasttext' / lang download.cached_unzip(path, dirpath) print("Loading model...") filename = Path(urls[lang]).stem + '.bin' model = load_model(str(dirpath / filename)) return model
def test_cache_unzip(self): # TODO: Not tested if the zipfile is actually unziped. saveto = Path(self.temp_dir) / "saveto" download.cached_unzip(Path(self.zippath), saveto=saveto)