Files
lan-manager/web/node_modules/@antv/algorithm/es/cosine-similarity.js
openclaw 0a5f6a8047 Initial commit: Lan-manager project code
- Go backend (server/)
- Frontend (web/, server/static/)
- Database and deployment files
- Scripts and docs

Co-Authored-By: 狸花猫/Claude-Qwen3.6-Plus 🐾
2026-04-20 00:52:58 +08:00

23 lines
834 B
JavaScript

import Vector from './utils/vector';
/**
* cosine-similarity算法 计算余弦相似度
* @param item 元素
* @param targetItem 目标元素
*/
var cosineSimilarity = function cosineSimilarity(item, targetItem) {
// 目标元素向量
var targetItemVector = new Vector(targetItem);
// 目标元素向量的模长
var targetNodeNorm2 = targetItemVector.norm2();
// 元素向量
var itemVector = new Vector(item);
// 元素向量的模长
var itemNorm2 = itemVector.norm2();
// 计算元素向量和目标元素向量的点积
var dot = targetItemVector.dot(itemVector);
var norm2Product = targetNodeNorm2 * itemNorm2;
// 计算元素向量和目标元素向量的余弦相似度
var cosineSimilarity = norm2Product ? dot / norm2Product : 0;
return cosineSimilarity;
};
export default cosineSimilarity;