本文实现代码:利用word分词提供的文本相似度算法来辅助记忆英语单词
本文使用的英语单词囊括了几乎所有的考纲词汇共18123词:
/** * 考纲词汇 * @return */ public static Set<Word> getSyllabusVocabulary(){ return get("/word_primary_school.txt", "/word_junior_school.txt", "/word_senior_school.txt", "/word_university.txt", "/word_new_conception.txt", "/word_ADULT.txt", "/word_CET4.txt", "/word_CET6.txt", "/word_TEM4.txt", "/word_TEM8.txt", "/word_CATTI.txt", "/word_GMAT.txt", "/word_GRE.txt", "/word_SAT.txt", "/word_BEC.txt", "/word_MBA.txt", "/word_IELTS.txt", "/word_TOEFL.txt", "/word_TOEIC.txt", "/word_考 研.txt"); }
启动程序后控制台输出:
---------------------------------------------------------- ---------------------------------------------------------- 可通过输入命令sa=edi来指定相似度算法,可用的算法有: 1、sa=edi,编辑距离 2、sa=ja,Jaro距离 3、sa=jaw,Jaro–Winkler距离 可通过输入命令sa=all来启用所有的相似度算法 可通过输入命令limit=45来指定显示结果条数 可通过输入命令exit退出程序 输入要查询的词或命令:
我们输入sa=all命令,回车确定,然后再次输入单词love后回车:
sa=all 启用所有的相似度算法 love
接着就会输出使用3种不同的相似度算法计算出来的love的相似词:
计算相似词:love 显示结果数目:45 ---------------------------------------------------------- ---------------------------------------------------------- love 的相似词(EditDistanceTextSimilarity): 1、1.0 love 2、0.8 lover 3、0.8 glove 4、0.75 rove 5、0.75 lave 6、0.75 dove 7、0.75 live 8、0.75 move 9、0.75 lobe 10、0.75 lode 11、0.75 lone 12、0.75 lope 13、0.75 lore 14、0.75 lose 15、0.666667 alcove 16、0.666667 sloven 17、0.666667 lovely 18、0.6 shove 19、0.6 loose 20、0.6 alive 21、0.6 levee 22、0.6 level 23、0.6 lever 24、0.6 loser 25、0.6 above 26、0.6 slave 27、0.6 alone 28、0.6 lower 29、0.6 solve 30、0.6 trove 31、0.6 rover 32、0.6 drove 33、0.6 movie 34、0.6 globe 35、0.6 leave 36、0.6 prove 37、0.6 hover 38、0.6 hovel 39、0.6 novel 40、0.6 slope 41、0.6 cover 42、0.6 coven 43、0.6 covey 44、0.6 covet 45、0.6 close 耗时:125毫秒 ---------------------------------------------------------- ---------------------------------------------------------- love 的相似词(JaroDistanceTextSimilarity): 1、1.0 owl 2、1.0 love 3、0.933333 lover 4、0.833333 rove 5、0.833333 lave 6、0.833333 dove 7、0.833333 live 8、0.833333 move 9、0.833333 lobe 10、0.833333 lode 11、0.833333 lone 12、0.833333 lope 13、0.833333 lore 14、0.833333 lose 15、0.8 lovely 16、0.783333 levee 17、0.783333 lever 18、0.783333 loser 19、0.783333 lower 20、0.783333 rover 21、0.783333 hover 22、0.783333 hovel 23、0.783333 novel 24、0.783333 cover 25、0.783333 coven 26、0.783333 covey 27、0.783333 covet 28、0.783333 liver 29、0.783333 Dover 30、0.75 covert 31、0.75 lively 32、0.75 lonely 33、0.75 govern 34、0.75 loving 35、0.72619 poverty 36、0.72619 novelty 37、0.72619 lovable 38、0.72619 covered 39、0.708333 coverage 40、0.708333 novelist 41、0.708333 leverage 42、0.708333 lovingly 43、0.708333 covenant 44、0.708333 governor 45、0.708333 November 耗时:200毫秒 ---------------------------------------------------------- ---------------------------------------------------------- love 的相似词(JaroWinklerDistanceTextSimilarity): 1、1.0 love 2、0.96 lover 3、0.933333 lovely 4、0.866667 lobe 5、0.866667 lode 6、0.866667 lone 7、0.866667 lope 8、0.866667 lore 9、0.866667 lose 10、0.85 live 11、0.833333 rove 12、0.833333 move 13、0.833333 November 14、0.826667 loser 15、0.826667 lower 16、0.825 loving 17、0.808333 lovable 18、0.805 levee 19、0.805 level 20、0.805 liver 21、0.795833 lovingly 22、0.783333 hover 23、0.783333 hovel 24、0.783333 novel 25、0.783333 cover 26、0.783333 coven 27、0.783333 covey 28、0.783333 covet 29、0.783333 Dover 30、0.75 covert 31、0.75 govern 32、0.746667 loneliness 33、0.7375 lavender 34、0.7375 leverage 35、0.733333 loan 36、0.733333 loaf 37、0.733333 loam 38、0.733333 lock 39、0.733333 logo 40、0.733333 loft 41、0.733333 long 42、0.733333 loll 43、0.733333 loon 44、0.733333 loom 45、0.733333 loop 耗时:167毫秒 ---------------------------------------------------------- ----------------------------------------------------------
时间: 2024-10-29 19:09:03