草庐IT

Similarity

全部标签

swift - 最佳字符串比较方法swift

获得两个字符串之间相似度百分比的最佳算法是什么。到目前为止,我一直在使用Levenshtein,但这还不够。Levenshtein给了我差异的数量,然后我必须尝试通过执行以下操作将其计算为相似性:100-(no.differences/no.characters_in_scnd_string*100)例如,如果我测试"ab"与"abc"的相似度,我得到大约66%的相似度,这是有道理的,因为"ab"与"abc"有2/3相似。我遇到的问题是,当我将"abcabc"测试为"abc"时,我得到了100%的相似度,因为"abc"完全存在于"abcabc"中。但是,我希望答案是50%,因为"abc

java - 在拉丁文字中匹配两个包含少于 10 个单词的字符串的最佳算法是什么

我正在比较歌曲标题,使用拉丁文字(虽然不总是),我的目标是如果两首歌的标题看起来相同则给出高分的算法,如果它们什么都没有则给出非常低的分数共同点。现在我已经不得不编写代码(Java)以使用Lucene和RAMDirectory编写此代码-但是仅使用Lucene来比较两个字符串太重量级,因此太慢。我现在开始使用https://github.com/nickmancol/simmetrics它有许多用于比较两个字符串的不错的算法:https://github.com/nickmancol/simmetrics/tree/master/src/main/java/uk/ac/shef/wit

python - 基于两个字典在 Python 中的相似性返回 'similar score'?

我知道可以使用以下函数返回两个字符串的相似程度:fromdifflibimportSequenceMatcherdefsimilar(a,b):output=SequenceMatcher(None,a,b).ratio()returnoutputIn[37]:similar("Hey,thisisatest!","Hey,man,thisisatest,man.")Out[37]:0.76In[38]:similar("Thisshouldbeone.","Thisshouldbeone.")Out[38]:1.0但是是否可以根据键及其对应值的相似度对两个字典进行评分?不是一些共同的

python - 基于投票的用户之间的相似性

假设我有一组用户、一组歌曲和一组对每首歌曲的投票:=============================UserSongVote=============================user1song1[score]user1song2[score]user1song3[score]user2song1[score]user2song2[score]user2song3[score]user3song1[score]user3song2[score]user3song3[score]user-nsong-n[score]=============================

python - NLTK - 自动翻译相似词

总体目标:我正在使用NLTK和Gensim在Python中制作产品评论的LDA模型。我想在不同的n-gram上运行它。问题:unigrams一切都很好,但是当我运行bigrams时,我开始得到包含重复信息的主题。例如,主题1可能包含:['goodproduct','goodvalue'],主题4可能包含:['greatproduct','greatvalue']。对于人类来说,这些显然传达了相同的信息,但显然'goodproduct'和'greatproduct'是不同的二元语法。我如何通过算法确定'goodproduct'和'greatproduct'是否足够相似,以便我可以将其中一

python - 计算两个列表之间的相似度

我想计算两个不同长度的列表之间的相似度。例如:listA=['apple','orange','apple','apple','banana','orange']#(length=6)listB=['apple','orange','grapefruit','apple']#(length=4)如您所见,单个项目可以在列表中出现多次,并且长度大小不一。我已经考虑过比较每个项目的频率,但这不包括每个列表的大小(一个列表只是另一个列表的两倍应该相似,但不完全相似)例2:listA=['apple','apple','orange','orange']listB=['apple','oran

python - 从 gensim 解释负 Word2Vec 相似度

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

LEA: Improving Sentence Similarity Robustness to Typos Using Lexical Attention Bias 论文阅读

LEA:ImprovingSentenceSimilarityRobustnesstoTyposUsingLexicalAttentionBias论文阅读KDD2023原文地址Introduction文本噪声,如笔误(Typos),拼写错误(Misspelling)和缩写(abbreviations),会影响基于Transformer的模型.主要表现在两个方面:Transformer的架构中不使用字符信息.由噪声引起的词元分布偏移使得相同概念的词元更加难以关联.先前解决噪声问题的工作主要依赖于数据增强策略,主要通过在训练集中加入类似的typos和misspelling进行训练.数据增强确实使得

c# - 如何计算给定 2 个字符串的距离相似性度量?

我需要计算两个字符串之间的相似度。那么我到底是什么意思呢?让我用一个例子来解释:真实的词:医院错误的词:haspita现在我的目标是确定需要修改多少个字符才能获得真正的单词。在这个例子中,我需要修改2个字母。那么百分比是多少?我总是把真实的词的长度。所以它变成2/8=25%所以这2个给定的字符串DSM是75%。如何在性能成为关键考虑因素的情况下实现这一目标? 最佳答案 几周前我刚刚解决了这个完全相同的问题。既然现在有人问,我会分享代码。在我详尽的测试中,即使没有提供最大距离,我的代码也比维基百科上的C#示例快10倍。当提供最大距离时

c# - 如何计算给定 2 个字符串的距离相似性度量?

我需要计算两个字符串之间的相似度。那么我到底是什么意思呢?让我用一个例子来解释:真实的词:医院错误的词:haspita现在我的目标是确定需要修改多少个字符才能获得真正的单词。在这个例子中,我需要修改2个字母。那么百分比是多少?我总是把真实的词的长度。所以它变成2/8=25%所以这2个给定的字符串DSM是75%。如何在性能成为关键考虑因素的情况下实现这一目标? 最佳答案 几周前我刚刚解决了这个完全相同的问题。既然现在有人问,我会分享代码。在我详尽的测试中,即使没有提供最大距离,我的代码也比维基百科上的C#示例快10倍。当提供最大距离时