我想写一个函数same_base(word1, word2)
,当True
和word1
是从同一词根派生的两个英语单词时返回word2
。我意识到单词可以有多种感官;我希望算法过于热心,只要有可能将单词视为来自同一个地方,就会返回True
。一些误报是可以的;假阴性不是。
通常,词干和词形还原将用于此。这是我尝试过的:
sung
和sing
,dig
和dug
,medication
和medicine
。这样的工具存在吗?我只需要一个极具攻击性的词干器/变形器组合 - 如果是这样,我会在哪里找到一个?
正如您所描述的那样,一般任务不可能通过输入字符的简单文本分析来实现。英语在处理单词时没有一致的处理规则。是的,一个优秀的lemmatiser将为您解决直截了当的案例,那些可以通过应用该POS中常见的转换(例如不规则动词)来辨别的案例。
但是,要消除漏报,您必须完全覆盖该词的基础;完整将需要词源,特别是在根词不是英语的情况下,或者可能不会出现在缩短的词本身中。
例如,什么软件工具可以告诉你dis
和speculum
有相同的根(specere
),但species
不?你怎么知道gentle
,gentile
,genteel
和jaunty
有相同的根?你需要词源来获得100%的实际连接。