本文实现代码:利用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毫秒
----------------------------------------------------------
----------------------------------------------------------