`

利用word分词提供的文本相似度算法来辅助记忆英语单词

阅读更多

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

 

 

 

 

 

 

 

1
0
分享到:
评论

相关推荐

    易语言文本相似度算法

    在"易语言文本相似度算法"这个主题中,我们主要关注的是如何使用易语言来实现文本相似度的计算。文本相似度算法是自然语言处理领域的一个重要组成部分,它用于衡量两个或多个文本之间的相似程度。 文本相似度算法...

    中文文本相似度匹配算法 simHash 海明距离 IK分词

    使用IK分词器,我们可以先对输入的中文文本进行分词,然后利用simHash算法计算文本的哈希值,并通过海明距离计算不同文本之间的相似度。 总结来说,simHash、海明距离和IK分词是中文文本相似度匹配的关键技术。...

    中文文本相似度匹配算法

    在中文文本处理中,分词是预处理的第一步,因为中文没有明显的空格来区分单词。IKAnalyzer是一个开源的Java实现的中文分词器,它支持多种分词模式,包括精确模式、全模式、关键词模式等,能够有效地将中文句子分割成...

    (python)使用余弦相似度算法计算两个文本的相似度的简单实现

    在Python编程环境中,余弦相似度算法是一种常用于计算文本相似度的方法,尤其适用于文档向量化处理后的场景。本文将详细介绍如何使用Python实现余弦相似度,并探讨其背后的概念、步骤以及具体源码分析。 余弦相似度...

    基于分词的中文文本相似度计算研究

    基于分词的中文文本相似度计算研究

    text-similarity-php, 通过余弦定理 分词计算文本相似度PHP版.zip

    1. 分词模块:使用jieba分词库或者自定义的分词算法,将输入的文本拆分成词组。 2. 向量表示:将每个文本转换为词频向量,即统计每个词在文本中出现的次数并作为对应维度的值。 3. 余弦相似度计算:应用余弦定理计算...

    word2vec词向量训练及中文文本相似度计算 【源码+语料】

    该资源主要参考我的博客:word2vec词向量训练及中文文本相似度计算 http://blog.csdn.net/eastmount/article/details/50637476 其中包括C语言的Word2vec源代码(从官网下载),自定义爬取的三大百科(百度百科、互动...

    IKAnalyzer中文分词计算句子相似度

    4. **Word Embedding**:如Word2Vec或GloVe等模型,将词项映射到高维向量空间,利用向量间的角度或距离来衡量语义上的相似性。对于句子,可以使用Sentence2Vec等方法得到句子向量。 **IKAnalyzer_Demo** IK...

    文本相似度算法,首先对文本分词,然后计算词频,生成词频向量,使用余弦相似度算法进行计算

    总结起来,文本相似度算法的核心是将文本转化为可计算的向量形式,并利用余弦相似度来量化文本间的相似性。这些方法对于理解和处理大量文本数据至关重要,是许多自然语言处理任务的基础。在实际项目中,根据需求选择...

    JAVA编写的基于文本相似度匹配的文本聚类

    在本文中,我们将深入探讨如何使用Java编程语言实现基于文本相似度匹配的文本聚类算法。文本聚类是自然语言处理领域的一个重要课题,它的目标是将大量无结构的文本数据按照其内在的语义关系划分为不同的类别,使得同...

    word分词文本相似度计算.docx

    在IT领域,文本相似度计算是一项重要的任务,它广泛应用于信息检索、自然语言处理和推荐系统等场景。这里,我们讨论的是基于余弦相似度的文本相似度计算方法,这通常用于衡量两个文本向量之间的角度,从而评估它们的...

    词频统计pta中文分词、统计词频、比对文本相似度.zip

    中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、统计词频、比对文本相似度.zip中文分词、...

    JAVA文本相似度查重代码及示例

    JAVA查重算法,包括HanLP 相似度比较、二叉树、DFA算法实现、敏感词处理工具、IKAnalyzer中文分词工具、分词进行敏感词过滤等查重算法,可以计算海明距离、余弦相似性、莱文斯坦距离、Jaccard 相似度、Sorensen Dice...

    java文本相似度对比

    通常,我们可以通过计算文本间的距离或使用特定的相似度算法来完成这个任务。 其次,**相似度**的计算有很多种方法,如余弦相似度、Jaccard相似度、编辑距离等。在本项目中,使用的是一种称为**SimHash**的算法。...

    kmeans算法 文本相似度计算(可控制台手动输入数据)

    综上所述,KMeans算法在文本相似度计算中是一个有效的工具,通过控制台手动输入数据可以实现定制化的分析。理解和应用这些概念对于理解和处理文本数据的聚类问题至关重要。在实际项目中,结合合适的特征工程和预处理...

    java实现 文本相似度

    Java作为一种通用且强大的编程语言,提供了丰富的库和工具来实现文本相似度计算。以下我们将深入探讨如何在Java中实现文本相似度。 首先,文本相似度的计算通常基于特定的算法,例如余弦相似度、Jaccard相似度、...

    利用TF_IDF算法计算两个英文文章的文本相似度(C++实现)

    TF-IDF(Term Frequency-Inverse Document Frequency)是一种在信息检索和自然语言处理中广泛使用的文本相似度计算方法。它的核心思想是评估一个词在文档中的重要性,即它在当前文档中的频率(TF)和在整个文档集合...

    Python实现简单的文本相似度分析操作详解

    本文实例讲述了Python实现简单的文本相似度分析操作。分享给大家供大家参考,具体如下: 学习目标: 1.利用gensim包分析文档相似度 2.使用jieba进行中文分词 3.了解TF-IDF模型 环境: Python 3.6.0 |Anaconda 4.3.1 ...

    中文文本预处理,Word2Vec训练计算文本相似度.zip

    4. **计算文本相似度**:训练完成后,我们可以使用余弦相似度或欧氏距离来衡量两个文本的相似度。例如,对于两个文本,可以分别计算它们包含的每个词的词向量的平均值,然后计算这两个平均向量的相似度。 5. **应用...

    word分词算法(demo)

    在IT领域,分词算法是自然语言处理(NLP)中的基础技术,它涉及到文本预处理,主要用于将连续的文本序列划分为有意义的词汇单元,如单词或词组。在这个"word分词算法(demo)"中,我们将探讨分词算法的基本原理、...

Global site tag (gtag.js) - Google Analytics