繁体   English   中英

确定两个单词是否来自 Python 中的同一个词根

[英]Determining if two words are derived from the same root in Python

我想编写一个函数same_base(word1, word2) ,当word1word2是源自同一个词根的两个英文单词时,它返回True 我意识到单词可以有多种含义; 我希望算法过于热心,只要有可能将单词视为来自同一个地方,就返回True 一些误报是可以的; 假阴性不是。

通常,词干提取和词形还原将用于此目的。 这是我尝试过的:

  • 检查单词是否词干相同,例如使用 Porter Stemmer。 这不叫sungsingdigdugmedication medicine
  • 检查单词是否词形还原为同一事物。 目前尚不清楚将哪些参数传递给词形还原器(即词性)。 至少 WordNet lemmatizer 似乎太保守了。

有这样的工具吗? 我是否只需要一个非常激进的词干提取器/词形还原器组合——如果是这样,我在哪里可以找到一个?

正如您所描述的,一般任务不可能通过对输入字符的简单文本分析来实现。 随着单词的发展,英语没有一致的处理单词的规则。 是的,优秀的词形还原师会为您解决一些简单的案例,这些案例可以通过应用该 POS 中常见的转换(例如不规则动词)来辨别。

但是,要消除漏报,您必须完全覆盖单词的基础; complete将需要词源学,特别是在词根不在英语中,或者可能不出现在缩短词本身中的情况下。

例如,什么软件工具可以告诉您disspeculum具有相同的根( specere ),但该species却没有? 你怎么知道gentlegentilegenteeljaunty有同一个词根? 您将需要词源来获得 100% 的实际联系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM