我正在尝试合并具有相同基础的单词。 示例:
或
起初我使用了
Word.Application().SynonymInfo[myWord, Word.WdLanguageID.wdEnglishUS];
从word.dll
获取单词的同义词。但我意识到我不想仅仅将同义词合并,而是将具有相同基础的单词合并。
如果2个单词具有相同的基数,我可以使用word.dll
或任何dll
可以使用的任何函数吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
英语有很多例外,但使用你自己的小功能处理几个最常见的场景将照顾90%的情况。
似乎很少有常见的情景:
a)过去时:通过添加后缀“ed”
b)复数:添加“s”,“es”,
c)制作形容词的常见后缀:
d)副词的常见后缀
e)用于将动词转换为名词
的常见后缀因此,通过从单词中删除常用后缀,我们可以尝试合并产生相同基数的单词。
对于不太常见的场景,可能是,我们可以通过一些字符串类似的算法来了解字符串是否相似。比如使用Levenshtein距离实现:
请参阅以下stackoverflow问题:
Are there any Fuzzy Search or String Similarity Functions libraries written for C#?