在上一期中,我们介绍了API资产的识别技术,探讨了API资产的定义以及各类风格API的识别技术。在本期中,我们将继续介绍API资产识别中的API聚合技术。
衡量两条向量之间的距离,可以将某一张图片通过特征提取来转换为一个特征向量。衡量两张图片的相似度就可以通过衡量这两张图片对应的两个特征向量之间的距离来判断了。
最近在做一个海量图片检索的项目,可以简单的理解为“以图搜图”,这个功能一开始是搜索引擎带火的,但是后来在电商领域变得非常实用。在制作这个图片检索的项目前,笔者搜索了一些资料,如今项目临近结尾,便在这里做一些简单的分享。本文先介绍图像检索最基础的一部分知识——利用 Python 检测图像相似度。
jvm-sandbox-repeater 是阿里开源的一款可基于 jvm-sandbox (阿里另一开源项目)可对应用目标 jvm 进行动态增强同时对目标服务的指定流量进行录制及回放的工具,使用过程中遇到如下问题:
距离(distance,差异程度)、相似度(similarity,相似程度)方法可以看作是以某种的距离函数计算元素间的距离,这些方法作为机器学习的基础概念,广泛应用于如:Kmeans聚类、协同过滤推荐算法、相似度算法、MSE损失函数、正则化范数等等。本文对常用的距离计算方法进行归纳以及解析,分为以下几类展开:
传统的Hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上仅相当于伪随机数产生算法。传统的hash算法产生的两个签名,如果原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别很大。所以传统的Hash是无法在签名的维度上来衡量原内容的相似度,而SimHash本身属于一种局部敏感哈希算法,它产生的hash签名在一定程度上可以表征原内容的相似度。
Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。
在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(Locality Sensitive Hashing)),本文介绍的SimHash是一种局部敏感hash,它也是Google公司进行海量网页去重使用的主要算法。
本系列代码已上传至github:https://github.com/sslovett/llm-application.git
Jieba分词是目前使用比较多的中文分词工具,我们在做文本处理以及关键词处理的时候经常需要使用分词技术提取我们需要的核心词信息。
动态规划的基本思想 动态规划的基本思想在于发现和定义问题中的子问题,这里子问题可也以叫做状态;以及一个子问题到下一个子问题之间 是如何转化的 也就是状态转移方程 因此我们遇到一个问题的时候 应该想一想这个问题是否能用某种方式表示成一个小问题,并且小问题具有最优子结构 最优子结构:问题的最优解由相关子问题的最优解组合而成,这些子问题可以独立求解 关于最优子结构 我们来看2个示例 1、求无权有向图中q-t的最短路径 如果q-t间的最短路径经过了点w 那么我们可以证明 q-w w-t也均是最短路径 所以无
文本相似度是指衡量两个文本的相似程度,相似程度的评价有很多角度:单纯的字面相似度(例如:我和他 v.s. 我和她),语义的相似度(例如:爸爸 v.s. 父亲)和风格的相似度(例如:我喜欢你 v.s. 我好喜欢你耶)等等。
有这样一个需求:需要对于用户发布的内容标题进行相似度对比,如果有之前的内容和当前发布的内容标题相似度到达某个阈值时则禁止发布或进行其他的一些操作。
解释一下图片:这里feature可以指一篇文档分词后的某个词,即将文档中的某个词作为一个特征。weight是这个词的权重,这里可以是这个词在这个句子中出现的次数。
最近参与了了一个日志和告警的数据挖掘项目,里面用到的一些思路在这里和大家做一个分享。
故事起源于工作的一个实际问题,要分析两个文本序列间的相似性,然后就想着干脆把一些常见的字符串相似性内容一并整理一下好了。
通过 采集系统 我们采集了大量文本数据,但是文本中有很多重复数据影响我们对于结果的分析。分析前我们需要对这些数据去除重复,如何选择和设计文本的去重算法?常见的有余弦夹角算法、欧式距离、Jaccard相似度、最长公共子串、编辑距离等。这些算法对于待比较的文本数据不多时还比较好用,如果我们的爬虫每天采集的数据以千万计算,我们如何对于这些海量千万级的数据进行高效的合并去重。最简单的做法是拿着待比较的文本和数据库中所有的文本比较一遍如果是重复的数据就标示为重复。看起来很简单,我们来做个测试,就拿最简单的两个数据使用Apache提供的 Levenshtein for 循环100w次计算这两个数据的相似度。代码结果如下:
本类适用于比较2个字符的相似度,代码如下: using System; using System.Collections.Generic; using System.Text; public class StringCompute { #region 私有变量 /// /// 字符串1 /// private char[] _ArrChar1; /// /// 字符串2 /// <
欧氏距离是两个点在 n 维空间中直线距离的度量。它是最常见的距离度量方法之一,用于计算两个向量之间的距离。欧氏距离的公式如下:
之前笔者写过一篇文章关于如何做搜索,但那篇文章的角度是从文本相似度角度写的。那种方式是目前发展的趋势,但是真正的搜索特别是网页搜索不可能在大范围的文本之间两两算相似度的。那样搜索引擎的效率会变得特别低下。本文将从字符串模糊匹配的角度介绍一下搜索引擎。 一般的搜索,要分为两个步骤:搜索和排序。搜索的方法有很多,为了高效一般进行字符串或关键词匹配,而用户提供的一些关键词可能不是数据库中保存的,例如使用倒排的方法很难找到Head节点,此处需要使用模糊匹配的方式。这里简单列举一下Learning-to-Rank排序
📷 前言 本文主要讲解 数据结构中的串,内容包括其特点、结构等,希望你们会喜欢。 目录 📷 1. 简介 📷 2. 存储结构介绍 包括:顺序存储结构 & 链式存储结构 📷 3. 串的比较 📷 4. 子串的定位 子串定位 的主要任务是:确定主串是否存在子串 & 子串在主串中的位置 子串的定位操作 也称 串的模式匹配 下面主要讲解串模式匹配的重要方法:KMP模式匹配算法 4.1 KMP模式匹配算法 简介 📷 4.2 具体算法 概念:字符串的前缀 & 后缀 📷 具体使用 步骤1:计算出子串(T串)各个位置的 j
Milvus (https://milvus.io/) 向量搜索引擎开源半年以来,全球已经有数百家企业或组织用户。焦点科技是一家以 B2B 外贸交易为主营业务的科技公司,也是 Milvus 的用户。
前言 本文主要讲解 数据结构中的串,内容包括其特点、结构等,希望你们会喜欢。 目录 1. 简介 2. 存储结构介绍 包括:顺序存储结构 & 链式存储结构 3. 串的比较 4. 子串的定位 子串定位 的
Levenshtein算法是一种用于比较两个字符串的算法,可以计算两个字符串之间的编辑距离。编辑距离是指将一个字符串转换成另一个字符串所需的最小操作数,操作包括插入、删除和替换等。
文章主要讲述了如何通过自然语言处理技术,如词向量、文本分类、情感分析等,来对文本进行相似性分析。同时,文章也介绍了一些具体的应用场景,如搜索引擎、文本分类、情感分析等。
自然语言处理技术的研究,可以丰富计算机知识处理的研究内容,推动人工智能技术的发展。
PHP字符串处理函数中有一个similar_text用于计算两个字符串的相似程度。今天来看看similar_text如何实现的。
参考资料:https://help.salesforce.com/articleView?id=managing_duplicates_overview.htm Salesforce 很重要的一个平台
随着互联网的不断发展,产生了各种各样的海量数据,比如图片、文本、视频和语音等非结构化数据,这些数据可以通过人工智能技术提取出特征向量,然后通过对这些特征向量的计算和检索来实现对非结构化数据的分析和检索,如何对非结构化的向量数据进行高效检索即为向量检索技术的核心问题。
在搞验证码识别的时候需要比较字符代码的相似度用到“编辑距离算法”,关于原理和C#实现做个记录。 据百度百科介绍: 编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将kitten一字转成sitting: sitten (k→s) sittin (e→i) sitting (→g) 俄罗斯
近年来深度学习在OCR领域取得了巨大的成功,但OCR应用中识别错误时有出现。错误的识别结果不仅难以阅读和理解,同时也降低文本的信息价值。在某些领域,如医疗行业,识别错误可能带来巨大的损失。因此如何降低OCR任务的错字率受到学术界和工业界的广泛关注。合合信息通过本文来讲解文本纠错技术帮助更多人解决业务问题。通常文本纠错的流程可以分为错误文本识别、候选词生成和候选词排序三个步骤。文本纠错方法可包括基于CTC解码和使用模型两种方式,下面分别对这两种纠错方式进行介绍。
要识别两张图片是否相似,首先我们可能会区分这两张图是人物照,还是风景照等......对应的风景照是蓝天还是大海......做一系列的分类。
shingling算法是最常见的文档分割算法,说白了就是将一个文档分解成由短字符构成的字符串集合。分割后的文档就可以通过Jaccard相似度等简单的度量标准进行相似度检测了。
在二叉树结点结构中加一个指针域,使其指向层次遍历的下一个结点,特别地,每一层的最后一个结点为空。(Code)
GNN模型现在正处于学术研究的热点话题,那么我们不经想问,GNN模型到底有多强呢?
使用Levenshtein(莱文斯坦)编辑距离来实现相似度算法 所谓Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,操作包括一切你使用的手段将一个字符串转换成另一个字符串,比如插入一个字符、删除一个字符..等等;操作次数越少,说明两个字符串距离Levenshtein Distance越小,表示两个字符串越相似。
对于文本去重来说,我个人处理上会从数据量、文本特征、文本长度(短文本、长文本)几个方向考虑。 常见的去重任务,如网页去重,帖子去重,评论去重等等。 好的去重任务是不仅比对文本的相似性,还要比对语义上的相似性。
文本相似度度量就是衡量两个文本相似度的算法。主要包括两个步骤:将文本表示为向量(文本表示);衡量两个向量的相似度(相似度度量)。
最近好久没有写文章了,上一篇文章还是九月十一的时候写的,距今已经两个月了,期间一直在忙一些工作上的事情,今天终于有点空闲,所以写一篇文章散散心。
众所周知,目前微信公众号是最具商业价值的写作平台,这与它优秀的原创保护机制密不可分,如果你想将其他公众号上的文章标为原创,微信会给出类似如下的信息告诉你未通过原创校验逻辑。
推荐系统是根据用户的行为、兴趣等特征,将用户感兴趣的信息、产品等推荐给用户的系统,它的出现主要是为了解决信息过载和用户无明确需求的问题,根据划分标准的不同,又分很多种类别:
本文是刊载于《管理世界》2017 年第 12 期《多个大股东与企业融资约束——基于文本分析的经验证据》[1] 的阅读笔记。原论文参照 Hoberg 和 Maksimovic(2015)、Buehlmaier 和 Whited(2016)的方法,结合中国制度背景和语言习惯,采用文本分析方法构建了融资约束指标。本笔记主要记录其使用文本分析方法构建指标的过程。
PostgrSQL有个模块叫pg_trgm,可以对字符串来进行比较相似度,并通过加GIST或者GIN索引来达到提速的效果。在一般的RDBMS中这种需求都会进行全表扫描的,但是PG如果加了这个模块,在一定场景下就可以使用索引来提速了。 一、背景 我们有一个需求根据人员的拼音码(或者药品的拼音码)进行搜索,因为拼音码不一定是全的,故通常给的方案是模糊搜索,在拼音码的首尾两端各加一个百分号,但是效率通常很慢,一般情况下也不建议这么做。 二、环境 OS:CentOS 6.5 DB:PostgreSQL 9.3 三、步骤 1.因为DB是通过源码编译的,所以创建很简单,只要添加一个扩展
我们现在做数据分析的时候,不可避免地会与文本数据打交道,今天跟大家分享在数据分析中,如何挖掘出相似的文本。
本文介绍了如何使用Python和OpenCV库实现图像的局部敏感哈希(LSH)算法,并通过具体实验展示了该算法的有效性。同时,本文还探讨了如何将LSH算法应用于海量数据查找中,提供了一种高效的海量数据查找方法。
编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫 Levenshtein Distance。一个字符串可以通过增加一个字符,删除一个字符,替换一个字符得到另外一个字符串,假设,我们把从字符串A转换成字符串B,前面3种操 作所执行的最少次数称为AB相似度 如 abc adc 度为 1 ababababa babababab 度为 2 abcd acdb 度为2
10月21日,朋友圈被一篇名为《估值175亿的旅游独角兽,是一座僵尸和水军构成的鬼城?》的文章刷屏。文章作者小声比比指控在线旅游网站马蜂窝存在点评大量造假的情况,包括从其他网站如大众点评、携程等抓取相关点评,及通过水军撰写虚拟点评。
最近碰到了文本相似度的问题,想到了猫猫数据中有品种的相关描述,于是用品种描述文本来研究一下文本相似度计算的。
在业务中我们经常会遇到查重的需求,例如给定一个文本字符串,判断在已有的文档中,是否存在与其相似的。
领取专属 10元无门槛券
手把手带您无忧上云