向量相似度计算
网络所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
每行一个向量,一次算出它们两两之间的五种度量:余弦相似度、点积、欧氏距离、曼哈顿距离、切比雪夫距离 —— 全部给出,方便对照。之所以五种一起给,是因为它们回答的常被混淆的两个问题:余弦问「方向像不像」(把向量拉长一倍,余弦不变),欧氏问「离多远」(拉长一倍,距离就变)。结果里还列出每个向量的模,并把你选的那个度量最相似的一对单独标出来。⚠️ 余弦相似度遇到零向量(模为 0)时没有定义,工具一律报错,不会给你 0 或 NaN。全部在浏览器本地完成,数据不出这台设备。
功能
- 五种度量一次给全:余弦、点积、欧氏、曼哈顿、切比雪夫
- 两两之间的完整对照,每组一行
- 列出每个向量的模(L2 范数)
- 单独标出你选的度量下最相似的一对
- ⚠️ 零向量的余弦报错,绝不返回 0 或 NaN
- 维数不一致时指出是第几个向量
- 可先把向量归一化成单位向量(余弦不变、点积变成余弦)
- 小数位数可调(0–10)
使用方法
- 每行输入一个向量,用逗号或空格分隔
- 选择用于挑「最相似的一对」的度量
- 需要时打开归一化,或调整小数位数
- 点「复制」取走结果
常见问题
- 余弦相似度和欧氏距离该怎么选?
- 看你在意的是「方向」还是「大小」。余弦只看方向:`(1,2,3)` 和 `(2,4,6)` 的余弦是 1(完全同向),尽管后者长度是前者的两倍。欧氏距离会计入长度:这两点的欧氏距离不为 0。文本向量(词频、TF-IDF)通常用余弦,因为文档长短不该改变「主题是否相同」的判断。
- 为什么零向量会让余弦相似度报错?
- 余弦相似度是两个向量的点积除以两个模的乘积,而零向量的模是 0 —— 除以 0 没有定义。给 0 会被读成「完全不相似」,给 NaN 更是无意义的。所以工具如实报错,并指出是第几个向量。
- 归一化之后结果为什么会变?
- 归一化把每个向量缩放到长度 1,于是长度信息被丢掉、只剩下方向。归一化后点积就等于余弦相似度,欧氏距离与余弦之间也有了固定的换算关系。如果你怀疑「长度差异」在干扰判断,可以先归一化再看。
- 两个向量长度不同也能算吗?
- 不能。所有向量必须维数相同,否则点积、距离都无从谈起。工具会在某一行的数字个数与第一个不一致时明确指出是第几个向量,而不是补零或截断。
相关工具
矩阵转 JSON
转换在矩阵文本与 JSON 二维数组之间互转:数字保持数字类型,行长度不齐会指名道姓地报出来,全部在浏览器本地完成。
分数计算
转换分数约分、最大公约数与最小公倍数、小数转分数、分数四则运算。全程用 BigInt 计算,超大整数不会丢精度。
字符串距离
文本比较两段文本有多像:编辑距离与逐字符对照、Damerau、Hamming、Jaro-Winkler 相似度、最长公共子序列,五种算法。全部在浏览器本地完成。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。
HTTP 状态码
网络HTTP 状态码查询与速查:输入编号查含义、1xx 到 5xx 分类、常见场景与排查提示,也能用关键词反查编号。全部在浏览器本地完成。