首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从模糊搜索到语义搜索的进化之路——探索 Chroma 在大模型中的应用价值

向量相似度搜索:利用余弦相似度或欧几里得距离在向量空间中查找相似的嵌入,从而实现语义相关的内容推荐。...这里用大白话给初学者简单解释一下原理:向量嵌入的本质就是将文本内容映射成一个向量,这个向量往往高达上千维(所以才能处理海量数据),而两个向量之间的距离越近(常用余弦相似度或欧氏距离来定量计算向量距离),...余弦相似度:余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。...从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。...两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。

7710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Sentence Transformers 教程!

    信息检索与重排:在大规模文档集合中查找相关文档并重新排序。 聚类分析:将文本自动分组,发现隐藏的主题或模式。 摘要挖掘:识别和提取文本的主要观点。 平行句对挖掘:在多语言数据中找出对应的翻译句子。...输出: 相似度计算 可以通过多种方式改变此值: 1....这些条目应该与查询具有较高的语义相似度。 对称与非对称语义搜索 我们设置的一个关键区别是对称与非对称语义搜索: 对于对称语义搜索:搜索类似问题:您的查询可能是“如何在线学习 Python?”...想查找“如何在网上学习 Python?”这样的条目 对于非对称语义搜索:我们通常会有一个简短的查询(例如问题或一些关键字)并且想要找到一个较长的段落来回答该查询。...默认情况下,余弦相似度。 返回:每个查询对应一个条目的列表。每个条目都是一个字典列表,其中包含键“corpus_id”和“score”,按余弦相似度得分降序排序。

    30010

    基于Java深度学习库Deep Java Library 的图片相似度计算

    基于Java深度学习库Deep Java Library的图片相似度计算 完整代码见 在本文中,我们将使用DJL中的预训练模型ResNet50来提取图片的特征向量,并计算图片之间的相似度。...相似度解释 余弦相似度 余弦相似度是通过计算两个向量夹角的余弦值来度量相似度。值越接近1,说明两个向量越相似,代表图片内容越接近: 接近1(如0.9及以上):图片内容非常相似。...图片分类在消消乐游戏中的应用 在一些游戏场景中,例如消消乐,能够自动识别相似图片对于提高游戏体验非常有帮助。以下示例展示了如何在游戏截图中找到与特定目标图像最相似的图片。...3.2 查找与0_0图片相似的图片并提高阈值 在某些情况下,为避免误判,我们可以通过设定更高的余弦相似度阈值来减少相似度较低的匹配结果。...余弦相似度、欧氏距离和内积在不同场景下能有效地评估图片之间的相似性,并能够根据不同阈值来提高匹配的准确性。 完整代码见

    10510

    在Python中使用NLTK建立一个简单的Chatbot

    所以,你词干提取的词根,意思是你最终得到的词,不是你只查字典就可以查找的,但词形还原可以查找。...Tf-IDF可以在scikit learn中实现为: from sklearn.feature_extraction.text import TfidfVectorizer 余弦相似度 TF-IDF是一种在向量空间中得到两个实值向量的应用于文本的变换...变换后我们可以通过获取它们的点积并将其除以它们范数的乘积来获得任何一对矢量的余弦相似度。得到向量夹角的余弦值。余弦相似度是两个非零向量之间相似性的度量。...使用下面公式,我们可以求出任意两个文档d1和d2的相似度。...TfidfVectorizer 另外,从scikit学习库导入cosine_similarity模块 from sklearn.metrics.pairwiseimport cosine_similarity 它会用于查找用户输入的单词与语料库中的单词之间的相似度

    3.2K50

    从理论到实践,一文详解 AI 推荐系统的三大算法

    ,然后基于相关性进行推荐,主要包括:1:基于用户的推荐 2:基于物品的推荐 ● SVD(奇异值分解):相当于协同过滤的相似度计算模型,主要基于用户和物品信息构成的矩阵,矩阵中的值是用户对商品的评分,这个矩阵通常是一个比较稀疏的矩阵...基于邻域的方法利用“两个用户共同评分过的物品”(user-based)或者“共同评价两个物品的用户”(item-based)分别计算用户间的相似度和物品间的相似度。...而相似度的计算有余弦相似度,皮尔逊相似度和一种被称为“Conditional Probability-Based“的Similarity。...皮尔逊系数与余弦相似度的不同在于,皮尔逊系数还能捕捉负关系,第三个方法的弊端在于由于每个物品(人)邻域的大小不同,流行物品或评分多的用户会引起问题。...在Python的sklearn库中已经实现了该算法,如果有兴趣也可以实现一个自己的K-Means算法。 K-Means算法在实际运行的过程中存在以下几个问题 1.

    2K71

    10个机器学习中常用的距离度量方法

    距离度量用于计算给定问题空间中两个对象之间的差异,即数据集中的特征。然后可以使用该距离来确定特征之间的相似性, 距离越小特征越相似。...5、余弦相似度和距离 Cosine similarity 余弦相似度是方向的度量,他的大小由两个向量之间的余弦决定,并且忽略了向量的大小。...余弦相似度通常用于与数据大小无关紧要的高维,例如,推荐系统或文本分析。 余弦相似度可以介于-1(相反方向)和1(相同方向)之间,计算方法为: 余弦相似度常用于范围在0到1之间的正空间中。...余弦距离就是用1减去余弦相似度,位于0(相似值)和1(不同值)之间。...总结 在这篇文章中,简要介绍了十种常用的距离测量方法。本文中已经展示了它们是如何工作的,如何在Python中实现它们,以及经常使用它们解决什么问题。

    1.3K30

    10个机器学习中常用的距离度量方法

    距离度量用于计算给定问题空间中两个对象之间的差异,即数据集中的特征。然后可以使用该距离来确定特征之间的相似性, 距离越小特征越相似。...5、余弦相似度和距离 Cosine similarity 余弦相似度是方向的度量,他的大小由两个向量之间的余弦决定,并且忽略了向量的大小。...余弦相似度通常用于与数据大小无关紧要的高维,例如,推荐系统或文本分析。 余弦相似度可以介于-1(相反方向)和1(相同方向)之间,计算方法为: 余弦相似度常用于范围在0到1之间的正空间中。...余弦距离就是用1减去余弦相似度,位于0(相似值)和1(不同值)之间。...总结 在这篇文章中,简要介绍了十种常用的距离测量方法。本文中已经展示了它们是如何工作的,如何在Python中实现它们,以及经常使用它们解决什么问题。

    1.2K10

    技术专题:API资产识别大揭秘(二)

    字典树算法Trie,又称字典树、单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。...下面我们将介绍几种关于字符串相似度计算的基本原理:余弦相似性余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。...Sorensen Dice 相似度系数Dice相似度系数是用于度量两个集合的相似性,因为可以把字符串理解为一种集合,因此Dice距离也会用于度量字符串的相似性。...SimHash本身属于一种局部敏感hash,其主要思想是降维,将高维的特征向量转化成一个f位的指纹,通过算出两个指纹的海明距离来确定两篇文章的相似度。...当然,利用Simhash算法,我们也可以用于两个字符串的相似度的计算,下面是SimHash算法的流程:而传统的Hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上仅相当于伪随机数产生算法。

    68830

    【AI大模型】Embedding模型解析 文本向量知识库的构建和相似度检索

    余弦相似度是一种用来衡量两个向量方向上的相似性的方法。在文本分析中,它常用于比较两段文本的语义相似性。...这个比例的本质是测量两个向量之间夹角的余弦值,范围从-1到1: 当余弦值为1时,表示两个向量方向完全相同。 当余弦值为0时,表示两个向量正交,即在高维空间中不相关。...当余弦值为-1时,表示两个向量方向完全相反。 在文本相似度测量中,如果两个文本的向量化表示在方向上更接近,它们的余弦相似度就更高,这意味着它们在语义上更相似。...因此,通过计算向量之间的余弦相似度,我们可以有效地评估两段文本的相似性。这种方法适用于处理高维空间中的数据,如自然语言处理中的文本数据。...", "Programming in Python is fun and versatile." ] # 输入文本 input_text = "Python is" # 执行查找 top_similar_texts

    8.5K00

    常用距离算法 (原理、使用场景、Python实现代码)

    距离度量用于计算给定问题空间中两个对象之间的差异,即数据集中的特征。然后可以使用该距离来确定特征之间的相似性, 距离越小特征越相似。...5、余弦相似度和距离 Cosine similarity 余弦相似度是方向的度量,他的大小由两个向量之间的余弦决定,并且忽略了向量的大小。...余弦相似度通常用于与数据大小无关紧要的高维,例如,推荐系统或文本分析。 余弦相似度可以介于-1(相反方向)和1(相同方向)之间,计算方法为:‍ 余弦相似度常用于范围在0到1之间的正空间中。...余弦距离就是用1减去余弦相似度,位于0(相似值)和1(不同值)之间。...总结 在这篇文章中,简要介绍了十种常用的距离测量方法。本文中已经展示了它们是如何工作的,如何在Python中实现它们,以及经常使用它们解决什么问题。

    1.2K20

    从零开始用Python写一个聊天机器人(使用NLTK)

    Tf-IDF 可以在scikit learn中调用: from sklearn.feature_extraction.text import TfidfVectorizer 余弦相似度 TF-IDF是一种在向量空间中得到两个实值向量的文本变换...然后我们可以通过取点积然后除以它们的范数乘积来得到任意一对向量的余弦相似度。接着以此得到向量夹角的余弦值。余弦相似度是两个非零向量之间相似度的度量。...利用这个公式,我们可以求出任意两个文档d1和d2之间的相似性。...TF-IDF和余弦相似度的详细说明和实际例子参见下面的文档。...同时, 从scikit learn库中导入cosine similarity模块 from sklearn.metrics.pairwise import cosine_similarity 这将用于查找用户输入的单词与语料库中的单词之间的相似性

    2.8K30

    不同品种猫猫有多相似呢,Python 文本相似度计算

    计算的值介于 0-100,值越大说明两文本越相似。 余弦距离 接下来介绍的集中距离都是需要先将文本进行向量化的,通过向量化计算显示距离。...文本向量化必须两个对比的文本同时向量化操作,确保两文本向量化的长度一样才可进行计算,部分代码: 两对比文本向量化后,再进行相似度计算: 余弦相似度,值介于 0-1,越大说明两文本越相似。...从结果上看对比前两个,值要大于 0.9 才相当于有 60% 以上的相似度,前两种方法更为直观。...还有皮尔逊相关系数,这个计算的值介于 0-1,值越大说明文本越相似。 它们的实现方式都与余弦相似,详细可查看源代码。...这样一个文本相似度计算就完成了。 源码获取 在公众号对话框回复关键字“文本相似度”即可获取 END

    87320

    十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解

    3.余弦相似度计算 当使用上面的向量空间模型计算得到两篇文章的向量后,则可以计算两篇文章的相似程度,两篇文章间的相似度通过两个向量的余弦夹角Cos来描述。...下图是向量空间模型图,它展示了文档Term1、Term2、…、TermN之间的余弦相似度计算方法,如果两篇文档越相似,则其夹角θ越小,Cos值越接近于1,当两篇文档完全相似时,此时的夹角为0°,Cos值为...这也展示了余弦相似性的原理知识。 下面我们借用两个句子来计算其与“北京理工大学生前来应聘”的余弦相似程度。...其结果显示句子1和句子2的相似度为0.67,存在一定的相似主题;而句子1和句子3的相似度为0,完全不相似。 总之,余弦相似度是一种非常有用的算法,只要是计算两个向量的相似程度,都可用它。...当余弦值越接近1时,表明两个向量的夹角越接近0度,两个向量越相似。但余弦相似性作为最简单的相似度计算方法,也存在一些缺点,如计算量太大、词之间的关联性没考虑等。

    2.3K20

    实验楼Python破解验证码

    ,以及标准图片每一个像素点的颜色值代入,最后一定有2个向量表示未知图片和这一个标准图片,然后求未知图片与这一标准图片的向量的夹角的余弦值,然后用同样方法做36遍,再按照相似度从大到小排序即可,最大余弦值的对应的已知字符应该最接近...#比较矢量相似度的类 class VectorCompare: #计算矢量大小,即求余弦的分母的元素 def magnitude (self,concordance):...我们需要从iconset文件夹里把每一个图片和文件夹的名字一一对应上,所以我们需要用os库来获取文件名 #训练集名字 iconset = ['0','1','2','3','4','5','6','7'...最后一步,把我们之前切的im3逐一遍历,再排序出相似度最高的对应的正确名字,最后打印出所有字符串 #判断单个字符的相似度 str = "" #打印字符串 for letter in letters...其次,根据上面的数据可以看到很多辨别失败的是因为长度辨识错误,也就是字符的像素点重合在一起了,会把两个字符合成一个字符判断,我现在想不到能用什么办法来解决这个问题。智商不够用。

    91140

    一个神经网络实现4大图像任务,GitHub已开源

    将单词字典转换成数字表示的过程称为词汇嵌入 (或词汇表示)。 我们可以下载和使用已经存在的词汇嵌入,如 word2vec 或 GLoVE。但在这个示例中,我们从头开始学习词汇嵌入。...它的工作原理很简单:采用 100 维的表示,并找出它与数据库中所有其他单词的余弦相似度。 让我们来看看与 “boy” 这个单词最相似的单词: ? 结果不错。...这意味着我们可以使用余弦相似度方法来构建一个按图像搜索的功能,如下所示: 步骤 1:获取数据库或目标文件夹中的所有图像,并存储它们的表示 (由 image encoder给出) 步骤 2:当用户希望搜索与已有图像最相似的图像时...,使用新图像的表示并在数据库中找到最接近的图像 (由余弦相似度给出) 谷歌图像可能正式使用这种 (或类似的) 方法来支持其反向图像搜索功能。...(根据学习率改变一小步) 继续步骤 4 到步骤 7,直到收敛或当损失低于某个阈值时为止 最后一步:取最终的输入张量,并利用它的值,通过余弦相似度找到离它最近的图像 结果相当神奇的: 我搜索了 “a dog

    1.1K30

    推荐算法在商城系统实践

    一、简介 本文博主给大家讲解如何在自己开源的电商项目newbee-mall-pro中应用协同过滤算法来达到给用户更好的购物体验效果。...相似度计算。这一步需要根据用户或者物品的特征或者行为,采用合适的相似度度量方法,如余弦相似度、皮尔逊相关系数、Jaccard指数等,来计算用户之间或者物品之间的相似度矩阵。 推荐生成。...余弦相似度是一种用于衡量两个向量之间的相似度的方法,它通过计算两个向量的夹角的余弦值来得到。...这样,就可以利用余弦相似度来计算用户和商品之间的相似度,从而为用户推荐最相似的商品。...return cosineSimilarity(xs, ys); } 余弦相似度计算 /** * 来计算向量之间的余弦相似度, * 也就是计算两个用户或者两个物品之间的相似度 * @param

    1.9K61

    基于物品的协同过滤算法:理论说明,代码实现及应用

    设N(u)表示用户u喜欢的物品,N(v)表示用户v喜欢的物品,则两个用户的相似度为: (1) 相比于基于用户的协同过滤算法,基于物品的协同过滤算法在工业界应用更多,因为基于用户的协同过滤算法主要有两个缺点...i == j: continue if j not in self.C[i].keys(): #如果二维字典中没有该键,初始化值为0...,那么余弦相似度矩阵很容易就计算出来了,示例的矩阵N,以及余弦相似度矩阵如下所示: a和d之间的相似度最高。...爬取了豆瓣11W+网页,获取了5W+有效书籍信息 其中爬取的某项信息很关键,即某书籍的推荐书籍,如下图所示: 假设把《代码大全》看做一个用户,那么这些推荐书籍就可以看做该用户喜欢的物品,在数据库中的形式如下...Q:UserCF和ItemCF的余弦相似度矩阵W有什么异同?

    2.4K91

    在几秒钟内将数千个类似的电子表格文本单元分组

    步骤二:使用余弦相似度计算字符串之间的接近度 余弦相似度是0和1之间的度量,用于确定类似字符串的长度,而不管它们的长度如何。 它测量多维空间中字符串之间角度的余弦。...该值越接近1(余弦为0°),字符串相似度越高。...在Python中计算余弦相似度 可以使用scikit-learn来计算余弦相似度。...这将返回具有余弦相似度值的成对矩阵,如: 然后将通过相似性阈值(例如0.75或0.8)过滤此矩阵,以便对认为代表相同实体的字符串进行分组。...第三步:构建一个哈希表,将发现转换为电子表格中的“组”列 现在要构建一个Python字典,其中包含legal_name列中每个唯一字符串的键。 最快的方法是将CSR矩阵转换为坐标(COO)矩阵。

    1.8K20

    文本分析 | 常用距离相似度 一览

    第一篇中,介绍了文本相似度是干什么的; 第二篇,介绍了如何量化两个文本,如何计算余弦相似度,穿插介绍了分词、词频、向量夹角余弦的概念。...其中具体如何计算,在这里复习: 文本分析 | 余弦相似度思想 文本分析 | 词频与余弦相似度 文本分析 | TF-IDF ---- 度量两个文本的相似度,或者距离,可以有很多方法,余弦夹角只是一种。...原始定义是相似度,即越大越相似,取值范围是 0~1(1=100%一致,0=完全不相似)。在 Python 中,需要统一转化成距离,即值越小月相似。...7、余弦夹角相似度(Cosine Similarity) (1)定义 余弦夹角相似度之前专门说过(文本分析 | 词频与余弦相似度),在文本分析中,它是一个比较常用的衡量方法。...意思就是,x 和 y 两个向量,对应元素只差的最大值的绝对值。值越小越相似 本例中,最大值只可能是1了。 (2)Python 验证 ? pairwise_distances 包中还有很多距离: ?

    3.3K40
    领券