1 个不稳定版本
0.1.0 | 2023 年 7 月 1 日 |
---|
#507 in 机器学习
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