草庐IT

相似性

全部标签

python - 使用 Python/PIL 比较(相似)图像

我正在尝试使用Python2.6和PIL计算两个图像的相似度(读作:Levenshtein距离)。我打算给我们epython-levenshtein用于快速比较的库。主要问题:什么是比较图像的好策略?我的想法是这样的:转换为RGB(透明->白色)(或者可能转换为单色?)将较小的放大到较大的尺寸将每个channel(=唯一的channel,如果转换为单色)转换为序列(项目值=像素的颜色值)计算两个序列之间的编辑距离当然,这不会处理镜像图像、裁剪图像等情况。但是对于基本比较,这应该很有用。是否有更好的策略记录在某处?编辑:AaronH对速度问题的看法是正确的。对于比几百x几百像素大的图像,

python - 算法 - 字符串相似度分数/哈希

有没有一种方法可以计算字符串的一般“相似性得分”?在某种程度上,我不是将两个字符串放在一起比较,而是为每个字符串获取一些数字/分数(散列),稍后可以告诉我两个字符串相似或不相似。两个相似的字符串应该具有相似(接近)的分数/哈希值。让我们以这些字符串和分数为例:HelloWorld1000世界,您好!1010你好地球1125富吧3250FooBarbar3750酒吧!3300世界啊!2350您可以看到Helloworld!和Helloworld相似,分数接近。这样,找到与给定字符串最相似的字符串将通过从其他分数中减去给定字符串分数然后对它们的绝对值排序来完成。我的最终目标是:将有流式日志

python - 如何计算两个张量之间的余弦相似度?

我有两个归一化张量,我需要计算这些张量之间的余弦相似度。我如何使用TensorFlow做到这一点?cosine(normalize_a,normalize_b)a=tf.placeholder(tf.float32,shape=[None],name="input_placeholder_a")b=tf.placeholder(tf.float32,shape=[None],name="input_placeholder_b")normalize_a=tf.nn.l2_normalize(a,0)normalize_b=tf.nn.l2_normalize(b,0)

python - Apache Spark Python 与 DataFrames 的余弦相似度

对于推荐系统,我需要计算整个SparkDataFrame的所有列之间的余弦相似度。在Pandas中,我曾经这样做过:importsklearn.metricsasmetricsimportpandasaspddf=pd.DataFrame(...somedataframeoverhere:D...)metrics.pairwise.cosine_similarity(df.T,df.T)生成列之间的相似度矩阵(因为我使用了转置)有什么方法可以在Spark(Python)中做同样的事情吗?(我需要将其应用于由数千万行和数千列组成的矩阵,所以这就是我需要在Spark中执行的原因)

python - 为什么元组大于相似列表?

这个问题在这里已经有了答案:Whyistuplelargerthanalistinpython?(5个答案)关闭8年前。下一个元组比列表大有什么原因吗?>>>t=(1,2,3)>>>l=[1,2,3]>>>t>lTrue>>>t

python - 使用keras的句子相似度

我正在尝试基于此workusingtheSTSdataset实现句子相似度架构.标签是从0到1的归一化相似性分数,因此假设它是一个回归模型。我的问题是,从第一个纪元开始,损失直接进入NaN。我做错了什么?我已经尝试更新到最新的keras和theano版本。我的模型的代码是:defcreate_lstm_nn(input_dim):seq=Sequential()`#embeddusingpretrained300dembeddingseq.add(Embedding(vocab_size,emb_dim,mask_zero=True,weights=[embedding_weights

python - 根据英语的相似程度对字符串进行评分

我不确定如何准确地表达这个问题,所以这里有一个例子:string1="THEQUICKBROWNFOX"string2="KLJHQKJBKJBHJBJLSDFD"我想要一个能使string1得分高于string2和其他一百万个乱码字符串的函数。请注意缺少空格,因此这是一个逐个字符的函数,而不是逐个单词的函数。在90年代,我在Delphi中编写了一个trigram-scoring函数,并用HuckFinn的trigrams填充它,我正在考虑将代码移植到C或Python或将其整合到一个独立的工具中,但必须有现在更有效的方法。我会这样做数百万次,所以速度很好。我尝试了Reverend.Th

python - 从 gensim 解释负 Word2Vec 相似度

例如我们使用gensim训练一个word2vec模型:fromgensimimportcorpora,models,similaritiesfromgensim.models.word2vecimportWord2Vecdocuments=["Humanmachineinterfaceforlababccomputerapplications","Asurveyofuseropinionofcomputersystemresponsetime","TheEPSuserinterfacemanagementsystem","Systemandhumansystemengineeringt

python - 如何将列表中的相似项目分组?

我希望根据字符串中的前三个字符对列表中的相似项目进行分组。例如:test=['abc_1_2','abc_2_2','hij_1_1','xyz_1_2','xyz_2_2']如何根据第一组字母(例如'abc')将上述列表项分组?以下是预期的输出:output={1:('abc_1_2','abc_2_2'),2:('hij_1_1',),3:('xyz_1_2','xyz_2_2')}或output=[['abc_1_2','abc_2_2'],['hij_1_1'],['xyz_1_2','xyz_2_2']]我已经尝试使用itertools.groupby来完成这个但没有成功:>

注意力机制中Q和K相乘的意义是什么?为什么Q和K相乘就可以得到它们之间的相似性/权重矩阵呢?

为什么query和key相乘就能得到学生和教师的相似度呢?它的内部原理是什么?在注意力机制中,query和key相乘得到的相似度其实是通过计算两个向量之间的点积来实现的。具体而言,我们将query和key进行点积运算后【这里的点积运算可以看作是一种度量相似度的方法,它可以从数学上衡量两个向量之间的相关性。当两个向量越相似时,它们的点积结果也会越大。】,再除以一个缩小因子self.soft(一般取值为特征维度的平方根),就可以得到对应向量之间的余弦相似度,从而得到相似度分数。相似度计算的方法有什么?除了点积运算,还有一种常用的度量向量相似度的方法叫做余弦相似度。1、点积: 2、余弦相似度: 对于