第七章 文本表示:哈希表示(四)
目录前置案例——文本的表示与应用一、概念介绍二、向量空间模型三、主题模型LDA四、词嵌入模型Embding五、 哈希模型--Simhash五、 哈希模型--Simhash5.1 概述SimHash 是局部敏感哈希Locality Sensitive Hash, LSH的经典实现由 Moses Charikar 提出核心能力是将高维的文本特征向量映射为一段固定长度的二进制指纹通常为 64 位且内容越相似的文本生成的指纹在二进制位上的差异越小从而通过极低的计算成本实现海量文本的快速去重与相似度判定。5.2 基本原理SimHash 本质是基于随机超平面投影的加权局部敏感哈希LSH核心设计目标是让高维空间中越相似的特征向量映射得到的二进制哈希指纹的汉明距离Hamming Distance越小它能实现 “内容相似→哈希相似” 的特性。与普通哈希函数不同普通哈希如 MD5、SHA追求即使输入只有微小变化输出也完全不同的雪崩效应而 SimHash 则希望相似的输入产生相似的输出因此非常适合文本去重和相似度快速检索。SimHash 的计算流程如下分词与加权对文本进行分词并为每个词赋予权重可使用词频或 TF-IDF 权重。例如词 wiwi​ 的权重为 weightiweighti​。哈希映射使用传统哈希函数如 MD5将每个词映射为一个固定长度的二进制序列如 64 位。加权累加对每个词的二进制序列进行逐位处理若某位为 1则在对应维度上加上该词的权重若为 0则减去该词的权重。最终得到一个长度为 64 的实数向量。降维生成指纹对累加得到的向量逐位判断若该位大于 0则指纹对应位置 1否则置 0。最终得到与原始哈希长度相同的二进制串即文本的 SimHash 指纹。通过这种方式原始的高维文本特征被压缩为一个紧凑的二进制表示。两个文本的相似度可以通过计算它们 SimHash 指纹的汉明距离即不同位的个数来衡量。通常认为64 位 SimHash 的汉明距离 ≤ 3 可视为高度相似。5.3 应用实践Python 中有多个 SimHash 实现库常用的是simhash库。安装命令pip install simhash代码示例from simhash import Simhash # 待比较的文本 text1 人工智能正在改变教育方式 text2 人工智能正在改变教育模式 text3 今天天气很好适合出去散步 # 计算 SimHash 指纹 hash1 Simhash(text1) hash2 Simhash(text2) hash3 Simhash(text3) # 计算汉明距离 print(text1 与 text2 的距离:, hash1.distance(hash2)) print(text1 与 text3 的距离:, hash1.distance(hash3)) # 查看指纹 print(text1 的指纹:, hex(hash1.value))结果示例text1 与 text2 的距离: 16 text1 与 text3 的距离: 34 text1 的指纹: 0x23137e00205905c应用场景网页去重新闻推荐日志分析抄袭检测。优点高效将高维向量压缩为定长二进制串汉明距离计算极快适合大规模实时去重。可增量处理对新文本只需计算其指纹与已有指纹库比较无需重新训练。实现简单算法流程清晰易于理解和部署。缺点仅基于词面SimHash 主要依据词频或词权重进行哈希无法捕捉同义词或语义关联如“汽车”和“轿车”可能指纹差异较大。阈值敏感汉明距离阈值需要根据具体数据调整不同场景下合理阈值可能不同。降维损失压缩过程中必然丢失部分信息可能造成误判或漏判。5.4 深度哈希模型简介随着深度学习的发展研究者提出了多种深度文本哈希模型试图在保留语义相似性的同时生成更紧凑的二进制编码。例如DeepTextHashing 工具包中集成了 VDSH、NbrReg、NASH、B-VAE、Doc2Hash、RBSH、AMMI、PairRec、WISH、MISH、SNUH、SSB-VAE、SMASH、HierHash 和 DHSH 等多种模型覆盖了变分自编码、图增强、语义对齐等技术方向。这些模型通常通过神经网络学习文本的语义表示并约束其输出为二进制码从而在保持高检索效率的同时提升语义匹配能力。相对于传统 SimHash深度哈希模型能够更好地处理语义相似但字面差异较大的文本但训练成本更高且需要大量标注或对比数据。在实际应用中若数据规模极大且对实时性要求极高SimHash 仍是首选若追求更高的语义准确性且具备训练条件可尝试深度哈希方法。

相关新闻

飞书文档批量导出实战:一条命令把700+知识库文档备份到本地

飞书文档批量导出实战:一条命令把700+知识库文档备份到本地

飞书文档批量导出实战:一条命令把700知识库文档备份到本地 【免费下载链接】feishu-doc-export 飞书文档导出服务 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 假如你所在的公司要从飞书迁移到其他协作平台,而知识库里躺着70…

2026/10/18 11:32:17 阅读更多 →
Claude 对话怎么导出 Word?先保留 Markdown 结构,再处理表格和公式

Claude 对话怎么导出 Word?先保留 Markdown 结构,再处理表格和公式

一句话答案:Claude 对话较短时可以直接复制到 Word,包含标题、表格、代码或公式时,先保留 Markdown 源文本,再转换为 Word,并逐项检查结构。 先判断内容结构普通段落可以直接整理,标题和列表需要保留层级&a…

2026/10/17 12:54:54 阅读更多 →
手机取消内存卡背后的技术演进与商业逻辑

手机取消内存卡背后的技术演进与商业逻辑

1. 从一张小卡片说起:手机存储的变迁 如果你和我一样,是从功能机时代一路用过来的,肯定对那个小小的“内存卡”槽位记忆犹新。那时候,买手机除了看品牌、看外观,一个非常重要的参数就是“最大支持扩展多少G”。一张小小…

2026/10/17 22:32:32 阅读更多 →

最新新闻

AirLLM:单张显卡也能跑70B大模型的分层推理显存优化方案

AirLLM:单张显卡也能跑70B大模型的分层推理显存优化方案

1. AirLLM 到底是什么:一个把“大模型塞进小显存”的暴力优雅方案QLoRA、GPTQ、GGUF,这些名字想必大家都不陌生。这几年为了在消费级显卡上跑大模型,各路方案层出不穷,核心思路无非两种:量化压缩模型权重,或…

2026/10/18 16:45:42 阅读更多 →
Playnite 主题定制 10 分钟上手:把游戏库界面改成自己的样子

Playnite 主题定制 10 分钟上手:把游戏库界面改成自己的样子

Playnite 主题定制 10 分钟上手:把游戏库界面改成自己的样子 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址…

2026/10/18 16:45:42 阅读更多 →
AI教材生成全流程:低查重高质量编写实战指南

AI教材生成全流程:低查重高质量编写实战指南

最近一年我接了好几本教材编写的活儿,从高校专业课讲义到企业内训手册都有。绕不开的两件事:一是写不完的量,二是躲不掉的查重率。身边不少同行开始把AI教材生成工具纳入工作流,确实能把初稿周期从一两个月压缩到一两周&#xff0…

2026/10/18 16:45:42 阅读更多 →
视觉目标跟踪丢失后重定位:丢失检测与搜索策略工程实践

视觉目标跟踪丢失后重定位:丢失检测与搜索策略工程实践

1. 从“跟丢”说起:为什么重定位是视觉跟踪的必修课做过视觉目标跟踪的人都有一个共识:跟踪算法在视频前几十帧跑得再漂亮,都不算数,真正的考验出现在目标被遮挡、快速运动、出画再入画、或者画面剧烈抖动的那一刻。我见过太多Dem…

2026/10/18 16:45:42 阅读更多 →
PHP轻量级代理分销系统:三级分佣+订单穿透+自动结算

PHP轻量级代理分销系统:三级分佣+订单穿透+自动结算

简介:这是一套基于PHP开发的代理分销型商城系统源码,面向中小型电商创业者、PHP初中级开发者及二次开发学习者,解决多级代理管理、佣金自动结算与分销渠道拓展等核心运营需求。资源包为RAR格式,大小11.5MB,虽未提供具体…

2026/10/18 16:45:42 阅读更多 →
深度学习实战:食物分类从数据准备到部署完整指南

深度学习实战:食物分类从数据准备到部署完整指南

先说实话,做了几年图像分类的活儿,我越来越觉得“食物分类”这个题目被低估了。它不像猫狗识别那样简单到几轮就收敛封顶,也不像人名识别那样需要极其苛刻的数据条件。食材种类上百、同一种食材换个切法和熟度就完全变了样、摆盘和背景还在添…

2026/10/18 16:44:42 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →