文档章节

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

杨尚川
 杨尚川
发布于 2015/05/29 12:04
字数 769
阅读 526
收藏 4

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


© 著作权归作者所有

杨尚川

杨尚川

粉丝 1103
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
加载中

评论(3)

zjzdy
zjzdy

引用来自“杨尚川”的评论

引用来自“zjzdy”的评论

"/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"
这些从哪里弄的?
https://github.com/ysc/superword/tree/master/src/main/resources

哦,原来在这,谢谢
杨尚川
杨尚川 博主

引用来自“zjzdy”的评论

"/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"
这些从哪里弄的?
https://github.com/ysc/superword/tree/master/src/main/resources
zjzdy
zjzdy
"/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"
这些从哪里弄的?
Java分布式中文分词组件--word

word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名...

杨尚川
2014/04/26
8.5K
1
word v1.3 发布,Java 分布式中文分词组件

word 分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名...

杨尚川
2015/08/29
4.6K
0
superword开源项目中的定义相似规则

两个词之间的关系有同义、反义、近义(有多近?)、相关(有多相关?)等等。我们如何来判断两个词之间的关系呢?利用计算机能自动找出这种关系吗?当然可以,不仅能找出来,而且还能量化出有...

杨尚川
2015/12/07
1K
1
superword v1.0 发布,基于 Java8 的英语词汇分析和辅助阅读开源项目

superword是一个Java实现的英文单词分析和辅助阅读开源项目,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律和辅助阅读等等。 使用Java8实现,Clean code、Fluent st...

杨尚川
2015/12/14
2.1K
18
专栏 清华大学刘知远:在深度学习时代用HowNet搞事情

  2017 年 12 月底,清华大学张钹院士做了一场题为《AI 科学突破的前夜,教授们应当看到什么?》的精彩特邀报告。他认为,处理知识是人类所擅长的,而处理数据是计算机所擅长的,如果能够将...

深度学习
2018/01/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

redis 内存信息解析

used_memory:由 Redis 分配器分配的内存总量,包含了redis进程内部的开销和数据占用的内存,以字节(byte)为单位 used_memory_rss:向操作系统申请的内存大小。与 top 、 ps等命令的输出一...

Canaan_
22分钟前
2
0
windows 下 python3 安装 pip setuptools

本文链接:https://blog.csdn.net/huzuxing/article/details/80807744 最近在家使用python的时候,总是报setuptools 模块未找到,于是在网上搜索了相关解决办法,但是都没有解决问题。 于是去...

开源中国首席CYO
28分钟前
2
0
数据库添加索引

mysql索引添加 navicat 步骤 - 选择表 -> 设计表 ->索引

以谁为师
38分钟前
4
0
java7与java9中的try-finally关闭资源

1.java7中的try 在java7之前,对于一些需要使用finally关闭资源的操作,会显得很臃肿. try{//}catch(Exception e){//}finally{if(xxxx != null){xxxx.close();}} 在jav...

Blueeeeeee
40分钟前
2
0
字节序转换详解

在跨平台和网络编程中我们经常会提到网络字节序和主机字节序,如果没有正确对两者进行转换,从而导致两方产生了不同的解释,就会出现意想不到的bug。 目录 0x01 概念 0x02 分类 0x03 两种字节...

无心的梦呓
50分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部