数据流中的近似重复检测

2023-12-19

我目前正在开发一个可以生成大量文本内容的流 API。正如预期的那样,API 给出了大量重复数据,而且我们也有过滤接近重复数据的业务需求。

我对数据流中的重复检测做了一些研究,并阅读了。稳定布隆过滤器是用于数据流中重复检测的数据结构,具有误报率上限。

但是,我想识别近似重复项,并且我还研究了用于最近邻问题和近似重复项检测的散列算法,例如 LSH 和 MinHash。

我有点陷入困境,正在寻找有关如何进行的指示以及我可以查看的论文/实施?


  1. 首先,将文本标准化为所有小写(或大写)字符,用空格替换所有非字母,将所有多个空格压缩为一个,删除前导和尾随空格;为了速度,我将在一次文本中执行所有这些操作。接下来采取MD5结果字符串的哈希(或更快的东西)。进行数据库查找MD5表中的哈希(作为两个 64 位整数),如果存在,则它是一个exact重复,如果没有,请将其添加到表中并继续下一步。您将希望根据时间或内存使用情况使旧哈希值老化。

  2. 要查找接近的重复项,需要将规范化字符串转换为潜在的签名(子字符串的哈希值),请参阅SpotSigs纸和博客文章 http://glinden.blogspot.com/2008/08/clever-method-of-near-duplicate.html作者:格雷格·林登。假设例程Sigs()对于给定的字符串(即给定标准化的字符串)执行此操作x, Sigs(x)返回一小组 (1-5) 64 位整数。你可以使用类似的东西SpotSigs算法来选择文本中的子字符串作为签名,但是如果您对数据有所了解,那么制定自己的选择方法可能会效果更好。您可能还想看看 simhash 算法(代码是here http://code.google.com/p/simhash/).

  3. 鉴于Sigs()有效地找到邻近重复项的问题通常称为设置相似连接 http://bit.ly/JPTZ2I问题。这SpotSigs论文概述了一些启发式方法,以减少新集合需要与旧集合进行比较的集合数量。simhash method.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据流中的近似重复检测 的相关文章

  • SQL:列出多个连接语句中的重复记录?

    你好 以下查询在连接多个表后返回所有员工 select e from dbo EMP e join dbo HREMP a on a ID e ID join dbo LOGO c on c EMPID e id join dbo LOGO
  • Java中的媒体播放器库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在评估用于在 Java 中播放音频 视频的库 它不需要 100 Java Java 与本机库的绑定
  • 通过另一个二维数组中的行过滤二维数组的行

    我有两个数组 我正在使用array diff assoc 以获得差异 但它总是返回common set结果中的行 它应该返回new q sets排 我的方法有什么问题吗 样本数据 array1 12 gt new q sets 11 gt
  • Twitter Streaming API 使用的官方编码?是UTF-8吗?

    Twitter 流 API 的官方编码是什么 根据我所看到的 我最好的猜测是 UTF 8 但我想避免做出假设 我见过的 Twitter 网站上唯一暗示他们使用什么作为官方编码的部分是在这里 Twitter 不想因为我们使用 UTF 8 或相
  • 如何通过减少请求来改进 AJAX 实时搜索

    我正在构建一个 AJAX 实时搜索页面 到目前为止 一切都按预期运行 但我注意到我正在进行大量的 AJAX 调用 我知道发生这种情况的地点和原因 但我找不到阻止这些 AJAX 调用发生的方法 我将尝试给出快速解释 然后粘贴下面的代码 在页面
  • 使用 XProc 进行 XML 流处理

    我正在玩xproc http www w3 org TR xproc XML 管道语言和http xmlcalabash com http xmlcalabash com 我想找到一个流式传输大型 xml 文档的示例 例如 给定以下内容hu
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • MySQL SELECT OpenCarts 数据库中的重复行

    只是玩一下 OpenCart DB 看看我是否能学到一些东西 如果我使用以下SELECT结果返回重复的行 SELECT DISTINCT p product id AS pid p model AS modelo SUBSTRING p m
  • Swift - UICollectionView 重复(重复)单元格

    你好 我有一个数组 其中包含从 flickr 获取的 100 张图片 url 当我使用 UICollectionView 时 我显示 100 个单元格 屏幕上只有 8 个单元格 当我向下滚动查看下一个 8 个单元格时 它们与前一个单元格相同
  • C#:将音频文件从服务器流式传输到客户端

    我目前正在编写一个应用程序 该应用程序将允许用户安装某种形式的应用程序 可能是 Windows 服务 该应用程序将在其 PC 上打开一个端口 并在硬盘上指定一个特定的目的地 然后能够流式传输 mp3 文件 然后 我将有另一个应用程序 该应用
  • 单个查询删除并显示重复记录

    采访中提出的问题之一是 一张表有100条记录 其中 50 个 是重复的 是否可以用单个 查询删除重复记录 从表中以及选择和 显示剩余 50 条记录 这可以在单个 SQL 查询中实现吗 Thanks SNA 对于 SQL Server 你会使
  • 使用VBA删除Excel中的非重复数据

    我尝试删除非重复数据并保留重复数据 我已经完成了一些编码 但什么也没发生 哦 这是错误 哈哈 这是我的代码 Sub mukjizat2 Dim desc As String Dim sapnbr As Variant Dim shortDe
  • 查找具有唯一两列组合的所有行

    我有这张桌子messages sender id recipient id 1 2 1 3 1 3 2 1 3 1 2 3 我希望选择这样的行 Either sender id or receiver id current user id
  • 向 ExtJS GridPanel 添加过滤器标题行

    我知道可以在列标题下添加一个过滤器行 因为我已经看到它是用 Coolite 完成的 但由于我是 Sencha ExtJS 的新手 所以我很难找到如何直接在脚本中使用 ExtJS grid GridPanel 来完成此操作 请您用一些样品为我
  • 在关联数组中查找重复值并将它们添加到计数中

    您好 我正在尝试计算关联数组中重复值的数量 如下所示 array 3 0 gt array 3 Title gt string 25 hello Price gt int 50 Count gt int 1 1 gt array 3 Tit
  • 将视频输入流转换为 RTMP

    我想将 Android 手机中的视频录制流式传输到网络媒体服务器 第一个问题是设置时MediaRecorder输出到套接字 流丢失了一些mdat大小标题 这可以通过在本地预处理流并将丢失的数据添加到流中以生成有效的输出流来解决 问题是如何从
  • 通过 WiFi 将视频从一部 Android 手机直播到另一部手机

    我已经在互联网上搜索了好几天关于如何通过 WiFi 连接实现从 Android 手机到另一部 Android 手机的视频流功能 但我似乎找不到任何有用的东西 我查看了 Android 开发人员的示例代码 stackoverflow goog
  • MySQL 使用 ALTER IGNORE TABLE 出现重复错误

    我的 MySQL 中有一个有重复项的表 我尝试删除重复项并保留一项 我没有主键 我可以通过以下方式找到重复项 select user id server id count as NumDuplicates from user server
  • 如何设置多个过滤器?

    我有一个关于将过滤器应用于多个值以使用 Google 脚本隐藏它们的问题 我有一个具有多种状态的项目跟踪器 例如 达到目标 已完成 已取消 已延迟 等 我想编写一个脚本来设置 状态 列的筛选器值 以便标记为 已完成 或 的行 已取消 被隐藏
  • android 媒体播放器 - 如何禁用范围请求? (Nexus 7 上的音频流中断)

    我有一个音频流应用程序 它运行本地代理服务器 本地代理服务器与互联网流媒体源建立 http 连接 在本地获取并缓冲流数据 然后 在应用程序内部 我使用 MediaPlayer 连接到本地代理服务器 使用方法 mediaPlayer setD

随机推荐

  • Go 为什么没有 stackoverflows

    我在这个演示文稿中读到http golang org doc ExpressivenessOfGo pdf http golang org doc ExpressivenessOfGo pdf第 42 页 Safe 没有堆栈溢出 这怎么可能
  • 为什么 setTimeout(.., 0) 不立即执行?

    var timeout setTimeout function console log I m message from timeout 0 console log I m message from outside timeout 1 I
  • 字节比布尔[8]更有效[重复]

    这个问题在这里已经有答案了 如果我在一个类中需要 8 个布尔成员变量 Java 是否可以有效地将它们全部放在一个字节中 或者它会为每个使用一个字节吗 换句话说 内存占用是否不同 boolean a boolean b boolean c b
  • Pandas 从组中获取列的第一个和最后一个值

    嗨 我有dataframe包含同一 ID 的多行 其中一列是日期 按升序排列 我想计算第一个条目和最后一个条目之间的日期差 我通过实例化 pandas 构造函数来实现此目的 如下所示 g df groupby ID print pd Dat
  • CKEditor 按键事件未正确更新文本

    我有以下代码 当用户在 CKEditor 文本区域内键入内容时 自动更新 div 内的内容 CKEDITOR instances editor on key function e var preview document getElemen
  • C++矢量源代码

    我正在尝试获取向量源代码以了解标准 std 或 stl 向量是如何实现的 这是出于学习目的 现在的问题是我在哪里可以找到源代码 甚至其他 C 容器的源代码也有帮助 不存在 标准 向量 标准定义了行为和接口 以及一些实现细节 例如连续存储 但
  • DataType 属性破坏日期时间字段上的 jQuery 日期选择器

    我在用MVC 4 and 剃刀视图我无法理解为什么我的日期字段上的编辑视图没有正确绑定到内置 jQuery 日期选择器 该字段是数据类型Date在数据库中 以及DateTime在域模型中 我不想显示时间 只想显示日期 该字段是必填字段 需要
  • 透明度实际上是如何实现的?

    给定两个图像 A B 我想要第三个图像 C 就好像 B 的透明度为 t 0 5 并放置在 A 的顶部 现实中C是如何计算的以及n如何影响它 我对任何程序或伪代码都不感兴趣 我只想知道基本原理 我认为 C 的一种方式只不过是 A 和 B 的交
  • ImportError:colab google 中没有名为 object_detection.builders 的模块

    我运行时出现此错误 cd git clone quiet https github com tensorflow models git apt get install qq protobuf compiler python tk pip i
  • 为什么不为 Rspec + Selenium 使用共享 ActiveRecord 连接?

    处理 Selenium 和测试的最普遍接受的方法似乎是避免使用事务固定装置 然后在测试 场景之间使用诸如 database cleaner 之类的东西 我最近遇到了以下情况article http blog plataformatec co
  • 为什么 Eclipse 的 Egit 中 Commit 是灰色的

    EGit 中的提交按钮神秘地变灰了 几天前还运行得很好 有谁知道如何解决这一问题 我在谷歌上没有找到任何线索 我会附上屏幕截图 但我还没有足够的声誉点 我遇到了这个问题 发现在远程获取和合并后我有未暂存的更改 将未暂存的更改移至 Git S
  • null 不是对象(评估“ShareDialog.canShow”)

    我有这样的代码 import React Component from react import AppRegistry StyleSheet Text TouchableHighlight View from react native i
  • Sitecore Field Renderer - 在渲染内添加标记

    作为 SEO 增强项目的一部分 我的任务是在字段渲染器在页面上生成的图像的标记内添加以下属性 itemprop contentURL 在结束标签之前
  • 如何将PIL Image.image对象转换为base64字符串? [复制]

    这个问题在这里已经有答案了 我正在尝试以 90 度旋转的方式操作 Base64 编码的图像 经过此操作 我想将其转换回 Base64 字符串 但不幸的是还无法实现这一目标 这是我到目前为止所做的 image string StringIO
  • Android:从服务调用片段方法

    运行 Firebase Cloud 消息服务 我希望每次收到新消息时都会调用特定片段中的方法 public class FirebaseMsgService extends FirebaseMessagingService public F
  • 在sql中以管道分隔的列中搜索值

    我想搜索列中以管道分隔的值 见下文 Column1 1 1 2 23 2 6 6 12 我想在所有行中搜索 2 这样它将返回下面的行 Column1 1 2 23 2 谁能告诉我我们怎样才能实现这一目标 您可以使用like where co
  • 如何更改 Xamarin 表单中的密码屏蔽字符 - 条目

    我目前面临一个相当简单的问题 最终使我陷入了死胡同 我正在构建一个使用 Xamarin Forms 的应用程序 并希望在用户输入密码时将掩码字符从项目符号更改为星号 为了输入密码 我在内容页面的可移植库项目中使用条目控件 在 VS2017
  • C++ STL 中的确定性随机数流

    我想提供一个数字 然后收到一组随机数 但是 我希望这些数字是相同的 无论我在哪台计算机上运行它 假设我提供相同的种子 基本上我的问题是 在 C 中 如果我使用rand 但供应srand 使用用户定义的种子而不是当前时间 我是否能够在任何计算
  • 列表以按间隔返回特定字段的值

    我正在使用大量数据实施 Telerik Chart 图表 x 轴上的标签重叠 我已经克服了这个问题 但从长远来看它并不可靠 这些是列表具有的字段 FieldName DataType Date DATETIME DateString STR
  • 数据流中的近似重复检测

    我目前正在开发一个可以生成大量文本内容的流 API 正如预期的那样 API 给出了大量重复数据 而且我们也有过滤接近重复数据的业务需求 我对数据流中的重复检测做了一些研究 并阅读了 稳定布隆过滤器是用于数据流中重复检测的数据结构 具有误报率