我正在尝试合并具有相同基础的单词。例子:
- 事故
- 偶然
- 偶然
- 事故
或者
- 放弃
- 弃
- 放弃
起初我使用
Word.Application().SynonymInfo[myWord, Word.WdLanguageID.wdEnglishUS];
从 中获取单词的同义词word.dll
。但我意识到我不想只合并同义词,而是合并具有相同基础的单词。
如果两个单词具有相同的基数,是否有任何我可以使用的函数word.dll
或任何可以返回的函数?dll
我正在尝试合并具有相同基础的单词。例子:
或者
起初我使用
Word.Application().SynonymInfo[myWord, Word.WdLanguageID.wdEnglishUS];
从 中获取单词的同义词word.dll
。但我意识到我不想只合并同义词,而是合并具有相同基础的单词。
如果两个单词具有相同的基数,是否有任何我可以使用的函数word.dll
或任何可以返回的函数?dll
英语有很多例外,但使用您自己的小功能处理少数最常见的场景将处理 90% 的情况。
似乎很少有常见的场景:
a)过去时:通过添加后缀“ed”
b)复数:通过添加“s”,“es”,
c) 作形容词的常用后缀:
d) 副词的通用后缀
e) 用于将动词转换为名词的通用后缀
因此,通过从单词中删除共同的后缀,我们可以尝试合并导致相同基数的单词。
对于不那么常见的场景,可能是,我们可以通过一些字符串相似算法来知道字符串是否相似。就像使用 Levenshtein 距离实现:
另请参阅以下 stackoverflow 问题: