我写了一个英语方面的软件,其中有一个功能是要查找相似的单词(包括词形或词义)。并且要把两个单词的相似程度表示出来(用于排序或者自定义需要的相似程度等等)。
就这个相似程度的规定,我想在很茫然,不知道如何规定是好。我想这个相似应该不只是简单的一段的匹配。比如说,单从词形上讲,aaab和aada词形很像,而aaab和aaba应该更像。我能预想到的类似的不好判断的地方很多。我实在想不出一个很好地衡量尺度。而且,即使确定了衡量尺度,如何很高效的实现代码我也没想通。不知道会不会有相关这方面的书籍,如果有是最好了。
希望高手们多多指教!不管你的想法是什么,请你告诉我,多谢!
就这个相似程度的规定,我想在很茫然,不知道如何规定是好。我想这个相似应该不只是简单的一段的匹配。比如说,单从词形上讲,aaab和aada词形很像,而aaab和aaba应该更像。我能预想到的类似的不好判断的地方很多。我实在想不出一个很好地衡量尺度。而且,即使确定了衡量尺度,如何很高效的实现代码我也没想通。不知道会不会有相关这方面的书籍,如果有是最好了。
希望高手们多多指教!不管你的想法是什么,请你告诉我,多谢!
比如cccdm,cccdk,cccbc这组英文,如果输入ccc*,那么排序就是cccbc,cccdk,cccdm
谢谢各位,但是还是有很重要的一部分匹配。比如说:
like 和 alike 加了一个首字母
some 和 same 只改变了一个字母
back 和 black 多了一个字母
abroad 和 aboard 调整了一个字母r的位置
这些情况可能用从头匹配的方法可能就不太好判断了。to ayanamiwww:
好像可以解决一些问题,能具体探讨一下吗?
你的指点给了我很大启发!多谢!
to all:
非常感谢各位的指点,现在我已经写成了一个初步的相似度判断程序。
后面可能还会碰到很多问题,我会继续向大家请教的:)先结贴了!