草庐IT

Similarity

全部标签

java - 余弦相似度

我计算了两个文档的tf/idf值。以下是tf/idf值:1.txt0.00.52.txt0.00.5文件是这样的:1.txt=>dogcat2.txt=>catelephant我如何使用这些值来计算余弦相似度?我知道我应该计算点积,然后求出距离并将点积除以它。我如何使用我的值来计算它?还有一个问题:两个文档的字数应该相同重要吗? 最佳答案 a*bsim(a,b)=--------|a|*|b|a*b是点积一些细节:defdot(a,b):n=length(a)sum=0foriinxrange(n):sum+=a[i]*b[i];r

java - Java 中的 Wordnet 相似性:JAWS、JWNL 或 Java WN::相似性?

我需要在基于Java的应用程序中使用Wordnet。我想:搜索同义词集找到同义词集之间的相似性/相关性我的应用程序使用RDF图,我知道Wordnet有SPARQL端点,但我想最好有数据集的本地副本,因为它不太大。我找到了以下jar:通用图书馆-JAWShttp://lyle.smu.edu/~tspell/jaws/index.html综合图书馆-JWNLhttp://sourceforge.net/projects/jwordnet相似度库(Perl)-Wordnet::similarityhttp://wn-similarity.sourceforge.net/Java版本的Wor

java - Solr Custom Similarity - 使用索引文档中的字段

我们目前使用的是非常旧的LuceneV4.X版本,现在正在迁移到SolrV7.4.0云。我们有一个自定义的相似度类,我们用它来影响我们在文档中使用的索引字段(“RANK”)的分数。这是类的样子-CustomSimilarity.javapublicclassCustomSimilarityextendsSimilarity{privatefinalSimilaritysim;privatefinaldoublecoefficiency;privateStringpopularityRank;staticInfoStreaminfoStream;publicCustomSimilarit

java - 词干的逆过程

我使用lucene雪球分析器来执行词干提取。结果是没有意义的话。我提到了这个question.其中一个解决方案是使用一个数据库,该数据库包含一个词干版本与一个稳定版本之间的映射。(从社区到社区的示例,无论社区的基础是什么(社区/或其他词))我想知道是否有一个数据库可以执行这样的功能。 最佳答案 理论上不可能从一个词干中恢复出一个特定的词,因为一个词干可能是许多词所共有的。根据您的应用程序,一种可能性是构建一个词干数据库,每个词干映射到一个包含多个单词的数组。但是您随后需要根据要重新转换的词干来预测这些词中的哪一个是合适的。作为这个问

php - 如何从列表中获取最不同的字符串

我有一个包含许多相似字符串的列表,例如:$str=array('monkeyeatabanana','dogeatabanana','catdevouranapple','catdineacoco');//etc我想从这个数组中提取X个彼此最不同的字符串。示例:如果我想提取3个,它将是:'monkeyeatabanana'和'catdineacoco'和'catdevouranapple'。我该如何实现?我找到了similar_text()函数,我想我可以使用它,但如何用X的任何值提取它们?谢谢你的建议ps:我用它来做SEO,目的是避免尽可能多的重复内容。

《Similarity-based Memory Enhanced Joint Entity and Relation Extraction》论文阅读笔记

代码原文摘要文档级联合实体和关系抽取是一项难度很大的信息抽取任务,它要求用一个神经网络同时完成四个子任务,分别是:提及检测、共指消解、实体分类和关系抽取。目前的方法大多采用顺序的多任务学习方式,这种方式将任务任意分解,使得每个任务只依赖于前一个任务的结果,而忽略了任务之间可能存在的更复杂的相互影响。为了解决这些问题,本文提出了一种新的多任务学习框架,设计了一个统一的模型来处理所有的子任务,该模型的工作流程如下:首先,识别出文本中的实体提及,并将它们聚合成共指簇;其次,为每个实体簇分配一个合适的实体类型;最后,在实体簇之间建立关系。图1给出了一个来自DocRED数据集的文档示例,以及模型期望输出

c++ - OpenCV:比较帧相似性的快速方法

我正在寻找一种快速的方法来将帧与运行平均值进行比较,并确定它们之间的差异(如果它们非常相似则给出高值,如果它们不相似则给出较低的值那个相似)。我需要比较整个帧,而不仅仅是较小的区域。我已经在图像上使用Otsu阈值来过滤掉背景(对背景不感兴趣,也不对前景的特征感兴趣-只需要形状)。有没有一种好的、快速的方法来做我想做的事? 最佳答案 经典方法是归一化互相关(试试cv::matchTemplate())。您将需要设置一个阈值来决定图像是否匹配。您还可以使用输出(已设置阈值)来比较多个图像。在OpenCV中,matchTemplate中的

java - 了解 MapReduce 性能?

您好,我想更好地了解map降低性能。什么决定了在Hadoop中实现的MapReduce算法的性能?是计算时间,如果有大量数据必须在节点处处理,还是磁盘写入和读取时间?当我运行一些mapreduce程序时,我观察到磁盘写入时间比磁盘读取时间要长。我想知道磁盘写入的开销是否远远大于计算时间(CPU时间),需要在节点处处理大量数据。与I/O访问相比,CPU时间是否微不足道?下面的算法是在每个reduce节点上发生的事情:我想知道与从HDFS读取输入然后处理后将输出写入HDFS相比,执行此算法的CPU时间是否微不足道。Input:Risamultisetofrecordssortedbythe

python - 将python协同过滤代码转换为使用Map Reduce

我使用Python计算项目之间的余弦相似度。给定表示购买(用户、项目)的事件数据,我有一个由我的用户“购买”的所有项目的列表。给定这个输入数据(user,item)X,1X,2Y,1Y,2Z,2Z,3我建立了一个python字典{1:['X','Y'],2:['X','Y','Z'],3:['Z']}从那个字典中,我生成了一个购买/未购买矩阵,也是另一个字典(bnb)。{1:[1,1,0],2:[1,1,1],3:[0,0,1]}从那里开始,我通过计算(1,1,0)和(1,1,1)之间的余弦来计算(1,2)之间的相似度,得到0.816496我这样做是为了:items=[1,2,3]fo

php - 在 PHP 中加速 levenshtein/similar_text

我目前正在使用similar_text将字符串与~50,000的列表进行比较,虽然由于比较的数量非常慢,但它仍然有效。比较约500个独特的字符串大约需要11分钟。在运行它之前,我确实检查了数据库,看它是否在过去被处理过,所以每次在初始运行后它都接近即时。我确定使用levenshtein会稍微快一些,并且有人在手册中发布的LevenshteinDistance函数看起来很有趣。我是否遗漏了一些可以显着加快速度的东西? 最佳答案 最后,levenshtein和similar_text都太慢了,因为它必须经过的字符串数量太多,即使有很多检