本文实现代码:利用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毫秒 ---------------------------------------------------------- ----------------------------------------------------------
相关推荐
在"易语言文本相似度算法"这个主题中,我们主要关注的是如何使用易语言来实现文本相似度的计算。文本相似度算法是自然语言处理领域的一个重要组成部分,它用于衡量两个或多个文本之间的相似程度。 文本相似度算法...
使用IK分词器,我们可以先对输入的中文文本进行分词,然后利用simHash算法计算文本的哈希值,并通过海明距离计算不同文本之间的相似度。 总结来说,simHash、海明距离和IK分词是中文文本相似度匹配的关键技术。...
在中文文本处理中,分词是预处理的第一步,因为中文没有明显的空格来区分单词。IKAnalyzer是一个开源的Java实现的中文分词器,它支持多种分词模式,包括精确模式、全模式、关键词模式等,能够有效地将中文句子分割成...
在Python编程环境中,余弦相似度算法是一种常用于计算文本相似度的方法,尤其适用于文档向量化处理后的场景。本文将详细介绍如何使用Python实现余弦相似度,并探讨其背后的概念、步骤以及具体源码分析。 余弦相似度...
基于分词的中文文本相似度计算研究
1. 分词模块:使用jieba分词库或者自定义的分词算法,将输入的文本拆分成词组。 2. 向量表示:将每个文本转换为词频向量,即统计每个词在文本中出现的次数并作为对应维度的值。 3. 余弦相似度计算:应用余弦定理计算...
该资源主要参考我的博客:word2vec词向量训练及中文文本相似度计算 http://blog.csdn.net/eastmount/article/details/50637476 其中包括C语言的Word2vec源代码(从官网下载),自定义爬取的三大百科(百度百科、互动...
4. **Word Embedding**:如Word2Vec或GloVe等模型,将词项映射到高维向量空间,利用向量间的角度或距离来衡量语义上的相似性。对于句子,可以使用Sentence2Vec等方法得到句子向量。 **IKAnalyzer_Demo** IK...
总结起来,文本相似度算法的核心是将文本转化为可计算的向量形式,并利用余弦相似度来量化文本间的相似性。这些方法对于理解和处理大量文本数据至关重要,是许多自然语言处理任务的基础。在实际项目中,根据需求选择...
在本文中,我们将深入探讨如何使用Java编程语言实现基于文本相似度匹配的文本聚类算法。文本聚类是自然语言处理领域的一个重要课题,它的目标是将大量无结构的文本数据按照其内在的语义关系划分为不同的类别,使得同...
在IT领域,文本相似度计算是一项重要的任务,它广泛应用于信息检索、自然语言处理和推荐系统等场景。这里,我们讨论的是基于余弦相似度的文本相似度计算方法,这通常用于衡量两个文本向量之间的角度,从而评估它们的...
中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、...
JAVA查重算法,包括HanLP 相似度比较、二叉树、DFA算法实现、敏感词处理工具、IKAnalyzer中文分词工具、分词进行敏感词过滤等查重算法,可以计算海明距离、余弦相似性、莱文斯坦距离、Jaccard 相似度、Sorensen Dice...
通常,我们可以通过计算文本间的距离或使用特定的相似度算法来完成这个任务。 其次,**相似度**的计算有很多种方法,如余弦相似度、Jaccard相似度、编辑距离等。在本项目中,使用的是一种称为**SimHash**的算法。...
综上所述,KMeans算法在文本相似度计算中是一个有效的工具,通过控制台手动输入数据可以实现定制化的分析。理解和应用这些概念对于理解和处理文本数据的聚类问题至关重要。在实际项目中,结合合适的特征工程和预处理...
Java作为一种通用且强大的编程语言,提供了丰富的库和工具来实现文本相似度计算。以下我们将深入探讨如何在Java中实现文本相似度。 首先,文本相似度的计算通常基于特定的算法,例如余弦相似度、Jaccard相似度、...
TF-IDF(Term Frequency-Inverse Document Frequency)是一种在信息检索和自然语言处理中广泛使用的文本相似度计算方法。它的核心思想是评估一个词在文档中的重要性,即它在当前文档中的频率(TF)和在整个文档集合...
本文实例讲述了Python实现简单的文本相似度分析操作。分享给大家供大家参考,具体如下: 学习目标: 1.利用gensim包分析文档相似度 2.使用jieba进行中文分词 3.了解TF-IDF模型 环境: Python 3.6.0 |Anaconda 4.3.1 ...
4. **计算文本相似度**:训练完成后,我们可以使用余弦相似度或欧氏距离来衡量两个文本的相似度。例如,对于两个文本,可以分别计算它们包含的每个词的词向量的平均值,然后计算这两个平均向量的相似度。 5. **应用...
在IT领域,分词算法是自然语言处理(NLP)中的基础技术,它涉及到文本预处理,主要用于将连续的文本序列划分为有意义的词汇单元,如单词或词组。在这个"word分词算法(demo)"中,我们将探讨分词算法的基本原理、...