保持原始LASER项目活力
项目描述
laser-keep-alive 是一个旨在为开源Facebook AI Research (FAIR) 项目,无语言句子表示 (LASER),提供稳定运行环境的计划。
安装
目前只能通过源代码进行安装。
git clone https://github.com/mingruimingrui/laser-keep-alive.git
cd laser-keep-alive
python setup.py install
为了确保硬件兼容性,可能需要显式安装 pytorch>=1.0
。
基本用法
脚本示例
要在Python脚本中使用此包,最简单的方法是导入 laser.SentenceEncoder
类。
from laser import SentenceEncoder
# Loading the model
sent_encoder = SentenceEncoder(
lang='en',
model_path=path_to_model_file,
bpe_codes=path_to_bpe_codes_file,
)
# Encode texts
# Given a List[str]
embeddings = sent_encoder.encode_sentences(list_of_texts)
# Where embeddings is a 2D np.ndarray
# of shape [num_texts, embedding_size]
命令行工具
laser-keep-alive 还可以直接从命令行运行。
$ python -m laser
usage: python -m laser [-h] {encode,filter} ...
Language-Agnostic SEntence Representations
positional arguments:
{encode,filter}
encode Encode a text file line by line
filter Filter a parallel corpus based on similarity
optional arguments:
-h, --help show this help message and exit
目前,提供了以下命令行功能。
编码
按行将文本文件编码为句子嵌入。输出格式为.npy
和.csv
。如果您使用预训练模型,您的嵌入输出维度大小为1024。在.npy
输出格式的情况下,这对应于np.float32
的4096字节大小和np.float16
的2048字节大小。(如果您不理解最后一句话,请不要担心)
过滤器
按行过滤并行语料库。仅保留具有低于阈值(默认:1.04)的欧几里得距离的句子。要应用更严格的过滤器,请使用更小的阈值。
下载预训练模型
由于该存储库不提供训练代码,因此需要预训练模型。
请参考此脚本下载预训练模型。
致谢
全部归功于Holger Schwenk,LASER工具包和FAIR的作者。有关FAIR和LASER的更多信息,请访问他们的网站。
- FAIR网站:https://ai.facebook.com/
- FAIR Github:https://github.com/facebookresearch
- LASER Github:https://github.com/facebookresearch/LASER/
如果您喜欢这个项目,请访问LASER项目页面并给它一个星⭐。
许可
laser-keep-alive
遵循MIT许可证,而LASER
遵循BSD许可证。如果您想使用laser-keep-alive
,请记住包括版权声明。
引用
请引用Holger Schwenk和Matthijs Douze(也是FAISS的创建者)。
@inproceedings{Schwenk2017LearningJM,
title={Learning Joint Multilingual Sentence Representations with Neural Machine Translation},
author={Holger Schwenk and Matthijs Douze},
booktitle={Rep4NLP@ACL},
year={2017},
}
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分布
laser-keep-alive-1.0.0.tar.gz (15.3 kB 查看哈希)
构建分布
laser_keep_alive-1.0.0-py3-none-any.whl (20.0 kB 查看哈希)