#句子 #向量 #单词 #word2vec #文件 #分区 #数据

bin+lib sentence2vec

一个将句子转换为向量的工具。它可以用于分区 word2vec 数据。它还可以从 word2vec 数据文件中提取单词列表。

1 个不稳定版本

0.1.0 2023 年 7 月 1 日

#507 in 机器学习

MIT 许可证

6.5MB
355

句子2Vec

此工具使用 word2vec 为句子中的每个单词计算句子向量。
该包支持 word2vec 的 txt 格式和二进制文件的自定义格式。

用法

use sentence2vec::Sentence2Vec;

let sentence = "This is a sentence.";
let model = Sentence2Vec::new("path/to/model.bin").unwrap();
let vector = model.sentence_vector(sentence);

句子向量是句子中单词向量的总和。我们得到一个与单词向量相同维度的向量。

示例

以下是一个计算两个句子之间余弦相似度的示例。

use sentence2vec::Sentence2Vec;

let word2vec = Word2Vec::<300>::load_from_bytes("tests/common.en.300.bin").await.unwrap();
let sentence2vec = Sentence2Vec::new(Box::new(word2vec));
let similarity = sentence2vec.cosine("This is a test.", "This is a test.").await.unwrap();
assert_eq!(similarity, 1.0);

let similarity_fruits = sentence2vec.cosine("I love apples.", "I love pears").await.unwrap();

let similarity_fuits_cars = sentence2vec.cosine("I love apples.", "I love cars").await.unwrap();

assert!(similarity_fruits > similarity_fuits_cars);

许可证

MIT

依赖项

~2.3–4.5MB
~78K SLoC