本文實現代碼:利用word分詞提供的文本類似度算法來輔助記憶英語單詞java
本文使用的英語單詞囊括了幾乎全部的考綱詞彙共18123詞:git
/** * 考綱詞彙 * @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"); }
啓動程序後控制檯輸出:github
---------------------------------------------------------- ---------------------------------------------------------- 可經過輸入命令sa=edi來指定類似度算法,可用的算法有: 一、sa=edi,編輯距離 二、sa=ja,Jaro距離 三、sa=jaw,Jaro–Winkler距離 可經過輸入命令sa=all來啓用全部的類似度算法 可經過輸入命令limit=45來指定顯示結果條數 可經過輸入命令exit退出程序 輸入要查詢的詞或命令:
咱們輸入sa=all命令,回車肯定,而後再次輸入單詞love後回車:算法
sa=all 啓用全部的類似度算法 love
接着就會輸出使用3種不一樣的類似度算法計算出來的love的類似詞:oop
計算類似詞:love 顯示結果數目:45 ---------------------------------------------------------- ---------------------------------------------------------- love 的類似詞(EditDistanceTextSimilarity): 一、1.0 love 二、0.8 lover 三、0.8 glove 四、0.75 rove 五、0.75 lave 六、0.75 dove 七、0.75 live 八、0.75 move 九、0.75 lobe 十、0.75 lode 十一、0.75 lone 十二、0.75 lope 1三、0.75 lore 1四、0.75 lose 1五、0.666667 alcove 1六、0.666667 sloven 1七、0.666667 lovely 1八、0.6 shove 1九、0.6 loose 20、0.6 alive 2一、0.6 levee 2二、0.6 level 2三、0.6 lever 2四、0.6 loser 2五、0.6 above 2六、0.6 slave 2七、0.6 alone 2八、0.6 lower 2九、0.6 solve 30、0.6 trove 3一、0.6 rover 3二、0.6 drove 3三、0.6 movie 3四、0.6 globe 3五、0.6 leave 3六、0.6 prove 3七、0.6 hover 3八、0.6 hovel 3九、0.6 novel 40、0.6 slope 4一、0.6 cover 4二、0.6 coven 4三、0.6 covey 4四、0.6 covet 4五、0.6 close 耗時:125毫秒 ---------------------------------------------------------- ---------------------------------------------------------- love 的類似詞(JaroDistanceTextSimilarity): 一、1.0 owl 二、1.0 love 三、0.933333 lover 四、0.833333 rove 五、0.833333 lave 六、0.833333 dove 七、0.833333 live 八、0.833333 move 九、0.833333 lobe 十、0.833333 lode 十一、0.833333 lone 十二、0.833333 lope 1三、0.833333 lore 1四、0.833333 lose 1五、0.8 lovely 1六、0.783333 levee 1七、0.783333 lever 1八、0.783333 loser 1九、0.783333 lower 20、0.783333 rover 2一、0.783333 hover 2二、0.783333 hovel 2三、0.783333 novel 2四、0.783333 cover 2五、0.783333 coven 2六、0.783333 covey 2七、0.783333 covet 2八、0.783333 liver 2九、0.783333 Dover 30、0.75 covert 3一、0.75 lively 3二、0.75 lonely 3三、0.75 govern 3四、0.75 loving 3五、0.72619 poverty 3六、0.72619 novelty 3七、0.72619 lovable 3八、0.72619 covered 3九、0.708333 coverage 40、0.708333 novelist 4一、0.708333 leverage 4二、0.708333 lovingly 4三、0.708333 covenant 4四、0.708333 governor 4五、0.708333 November 耗時:200毫秒 ---------------------------------------------------------- ---------------------------------------------------------- love 的類似詞(JaroWinklerDistanceTextSimilarity): 一、1.0 love 二、0.96 lover 三、0.933333 lovely 四、0.866667 lobe 五、0.866667 lode 六、0.866667 lone 七、0.866667 lope 八、0.866667 lore 九、0.866667 lose 十、0.85 live 十一、0.833333 rove 十二、0.833333 move 1三、0.833333 November 1四、0.826667 loser 1五、0.826667 lower 1六、0.825 loving 1七、0.808333 lovable 1八、0.805 levee 1九、0.805 level 20、0.805 liver 2一、0.795833 lovingly 2二、0.783333 hover 2三、0.783333 hovel 2四、0.783333 novel 2五、0.783333 cover 2六、0.783333 coven 2七、0.783333 covey 2八、0.783333 covet 2九、0.783333 Dover 30、0.75 covert 3一、0.75 govern 3二、0.746667 loneliness 3三、0.7375 lavender 3四、0.7375 leverage 3五、0.733333 loan 3六、0.733333 loaf 3七、0.733333 loam 3八、0.733333 lock 3九、0.733333 logo 40、0.733333 loft 4一、0.733333 long 4二、0.733333 loll 4三、0.733333 loon 4四、0.733333 loom 4五、0.733333 loop 耗時:167毫秒 ---------------------------------------------------------- ----------------------------------------------------------