gpt4 book ai didi

java - 在 Java 中如何查找两个列表的相似程度?

转载 作者:行者123 更新时间:2023-12-02 07:53:14 25 4
gpt4 key购买 nike

对于家庭作业,我们将把 basicCompare 方法转变为比较两个文本文档并查看它们是否涉及相似主题的方法。基本上,该程序将删除所有长度小于五个字符的单词,并留下列表。我们应该比较列表,并且如果两个文档之间的单词使用足够多(假设相似度为 80%),则该方法返回 true 并表示“匹配”。

但是,我对所有注释都位于方法底部的位置感到困惑。我想不出或找到一种方法来比较两个列表并找出两个列表中单词的百分比。也许我想错了,需要过滤掉两个列表中都不存在的单词,然后计算剩下的单词数。用于定义输入文档是否匹配的参数完全由我们决定,因此可以根据需要进行设置。如果各位好心的女士们先生们能给我指出正确的方向,即使是关于某个函数的 Java 文档页面,我相信我可以完成剩下的工作。我只需要知道从哪里开始。

import java.util.Collections;
import java.util.List;

public class MyComparator implements DocumentComparator {

public static void main(String args[]){
MyComparator mc = new MyComparator();

if(mc.basicCompare("C:\\Users\\Quinncuatro\\Desktop\\MatchLabJava\\LabCode\\match1.txt", "C:\\Users\\Quinncuatro\\Desktop\\MatchLabJava\\LabCode\\match2.txt")){
System.out.println("match1.txt and match2.txt are similar!");
} else {
System.out.println("match1.txt and match2.txt are NOT similar!");
}
}

//In the basicCompare method, since the bottom returns false, it results in the else statement in the calling above, saying they're not similar
//Need to implement a thing that if so many of the words are shared, it returns as true

public boolean basicCompare(String f1, String f2) {
List<String> wordsFromFirstArticle = LabUtils.getWordsFromFile(f1);
List<String> wordsFromSecondArticle = LabUtils.getWordsFromFile(f2);

Collections.sort(wordsFromFirstArticle);
Collections.sort(wordsFromSecondArticle);//sort list alphabetically

for(String word : wordsFromFirstArticle){
System.out.println(word);
}

for(String word2 : wordsFromSecondArticle){
System.out.println(word2);
}

//Find a way to use common_words to strip out the "noise" in the two lists, so you're ONLY left with unique words
//Get rid of words not in both lists, if above a certain number, return true
//If word1 = word2 more than 80%, return true

//Then just write more whatever.basicCompare modules to compare 2 to 3, 1 to 3, 1 to no, 2 to no, and 3 to no

//Once you get it working, you don't need to print the words, just say whether or not they "match"

return false;

}


public boolean mapCompare(String f1, String f2) {

return false;
}

}

最佳答案

尝试通过执行纸上或头脑中的步骤来提出算法。一旦您了解需要做什么,请将其转换为代码。这就是所有算法的发明方式。

关于java - 在 Java 中如何查找两个列表的相似程度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com